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일을 기다립니다. 3일차(70)는 4일차의 같은 온도인 70을 건너뛰고 75를 기다리며 2일을 기다립니다. 75와 68 이후에는 더 따뜻한 날이 없으므로 둘 다 0을 받습니다.
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]