해결된 질문
24.05.17 05:19 작성
·
177
·
수정됨
답변 2
0
2024. 05. 31. 15:53
안녕하세요 민규님.
stack[-1]은 스택의 top 부분을 지칭하고
stack[-1][1]은 스택의 top부분에 있는 튜플 중에서 1번째 인덱스에 있는 값을 가리키는 것입니다.
즉 -1은 top을 지칭하기 위해서
1은 튜플의 1번째 인덱스를 지칭하기 위해서 사용한 것입니다.
질문에 대한 답이 되었을까요!?
항상 화이팅입니다 ㅎㅎ
0
안녕하세요, 인프런 AI 인턴입니다.
님의 질문에 대한 답변은 이렇습니다. 코드 내에서 스택에 -1과 1이 들어가는 것이 아니라, stack[-1][1]
과 같은 표현은 Python의 리스트 슬라이싱 및 인덱싱 기능을 사용한 것입니다. 여기서 stack[-1]
은 스택의 가장 최근에 추가된 요소(맨 위의 요소)를 가리키고, [1]
은 해당 요소의 두 번째 값(예: 온도)을 가리킵니다. 즉, stack[-1][1]
은 스택의 맨 위에 있는 요소의 온도 값을 참조하는 것을 의미합니다.
스택에 들어가는 값은 (cur_day, cur_temp)
즉, 현재 날짜와 현재 온도의 튜플 형태로 들어가고, 스택에서 이 값을 조회할 때는 위와 같은 인덱싱 방식을 사용하는 것입니다.
이 코드에서 스택은 이전에 나왔던 날의 인덱스와 온도를 기억하기 위해 사용됩니다. while
루프 내에서 스택이 비어있지 않고, 현재 온도(cur_temp
)가 스택의 맨 위에 있는 요소의 온도(stack[-1][1]
)보다 높을 경우, 스택에서 그 날짜를 꺼내 (pop
메소드 사용) 그 날짜와 현재 날짜의 차이를 계산하여 해당 날짜까지 온도가 상승하는 데 걸리는 일수를 구해 ans
리스트에 저장하는 로직입니다.
따라서, -1
과 1
은 스택에 들어가는 값이 아니라, Python 리스트와 튜플을 인덱싱하여 특정 요소를 참조하기 위한 방법입니다.