Menu
CoddyTech

Daily Temperatures

보통단조 스택python iconjava iconcpp iconc iconjs icon+10

연속된 날짜 각각의 온도가 주어집니다. temperatures[i]는 i일의 온도입니다. 각 날짜에 대해 그날 이후로 더 따뜻한 날이 올 때까지 며칠을 기다려야 하는지 세세요. 나중에 더 따뜻한 날이 오지 않는다면 해당 날짜의 대기 일수는 0입니다.

길이가 같은 배열을 반환하세요. 배열의 항목 i는 i일의 대기 일수입니다.

함수

dailyTemperatures(temperatures: integer-array) → integer-array
temperaturesinteger-array
각 날짜의 기온을 순서대로
반환값integer-array
각 날짜에 대해 더 따뜻한 날이 올 때까지 남은 일수 또는 그런 날이 없으면 0

제약 조건

  • 1 ≤ temperatures.length ≤ 104
  • 30 ≤ temperatures[i] ≤ 100
  • 더 따뜻하다는 것은 엄밀히 말해 기온이 더 높다는 뜻입니다. 나중 날짜의 기온이 같다면 해당하지 않습니다.

예제

입력
temperatures = [71, 69, 72, 70, 70, 75, 68]
출력
[2, 1, 3, 2, 1, 0, 0]
설명
0일째는 71이고 첫 번째로 더 따뜻한 날은 72인 2일째이므로 2일을 기다립니다. 3일째와 4일째는 모두 70입니다. 두 번째 70은 더 따뜻하지 않으므로 3일째는 75인 5일째까지 기다리며, 이는 2일입니다. 75나 68 이후에는 더 따뜻한 날이 없으므로 둘 다 0입니다.

lock icon제출 시 숨은 테스트 +13개

challenge icon

후속 질문

온도는 30부터 100까지 총 71개의 값만 가집니다. 온도를 인덱스로 사용하는 테이블은 오른쪽에서 왼쪽으로 한 번만 훑어서 어떻게 모든 날짜에 답을 구할 수 있을까요? 그리고 그 과정의 비용은 얼마일까요?

코드 초기화
def dailyTemperatures(temperatures):
    # 여기에 코드를 작성하세요
테스트 케이스

케이스 1

케이스 2

케이스 3

입력

temperatures = [71, 69, 72, 70, 70, 75, 68]

기대값

[2, 1, 3, 2, 1, 0, 0]