[1스4코2파] # 177. LeetCode 739. Daily Temperatures

gunny·2023년 6월 29일
0

코딩테스트

목록 보기
178/530

[1스4코2파] 1명의 스위프트 개발자와 4명의 코틀린 개발자, 2명의 파이썬 개발자코딩 테스트 서막 : 1스4코1파

Rule :

하루에 1문제씩 풀기.
한 문제당 30분씩은 고민하기.
왜 그렇게 풀었는지 공유하기.
하루라도 놓친다면 벌금은 1,000원
백준 플래티넘, 프로그래머스 4단계, 개발자 탈퇴 시 모임 탈퇴 가능

START :

[3코1파] 2023.01.04~ (177차)
[4코1파] 2023.01.13~ (169일차)
[1스4코1파] 2023.04.12~ (80일차)
[1스4코2파] 2023.05.03 ~ (58일차)

Today :

2023.06.29 [177일차]
LeetCode Patterns
https://leetcode.com/problems/daily-temperatures/

739. Daily Temperatures

https://leetcode.com/problems/daily-temperatures/

문제 설명

int형 원소가 담긴 (temperature) 배열이 주어지고, 배열의 원소인 temperature가 자기 값보다 높은 원소 값과 얼마나 떨어져 있는지 거리를 return함. 없으면 0 return

문제 풀이 방법

stack 이용... 값이랑 인덱스를 같이 넣어서
temperatures array를 순차적으로 돌면서, 큰 값이 나오면 해당 인덱스를 추가하는 식으로 풀면 됨

내 코드

class Solution:
    def dailyTemperatures(self, temperatures: List[int]) -> List[int]:
        res = [0] * len(temperatures)
        stack = []

        for i, tem in enumerate(temperatures):
            while stack and tem > stack[-1][0]:
                stackT, stackIdx = stack.pop()
                res[stackIdx] = (i-stackIdx)
            stack.append([tem, i])
        return res

증빙

여담

내일 연차라 맥주랑 약과 버터바에 과자 먹는 내 폼 어떤데

profile
꿈꾸는 것도 개발처럼 깊게

0개의 댓글