작성
·
158
1
dailyTemperatures 코드 부분에서 while문안에 temper[stack.peek()]<temper[i] 라고 하셨는데
왜 stack.peek()<temper[i] 가 아닌 temper[stack.peek()]를 썻는지가 궁금합니다. 만약 stack의 top에 데이터가 93이면 temper[93]되서 스택의 데이터사이즈를 벗어나는 것이 아닌가요?
답변 1
1
안녕하세요??
질문 주신
1. "왜 stack.peek()<temper[i] 가 아닌 temper[stack.peek()]를 썻는지가 궁금합니다. "
stack.push(i); 스택에 이렇게 저장됩니다.
여기서 인덱스 위치를 저장하는겁니다.
강의를 보시면 73,74를 비교하기 위해서 스택에 위치(0,1)만 저장하는거죠
2. "만약 stack의 top에 데이터가 93이면 temper[93]되서 스택의 데이터사이즈를 벗어나는 것이 아닌가요?"
temper[93] 이렇게 안됩니다. 93의 배열에 위치를 스택에 저장하는겁니다.
강의를 보시면 이해가 가실거여여, 이 문제에 핵심은 그날의 온도를 저장했다가 며칠있다가 온도가 높아지는가
날짜비교를 하는거죠..
하여튼 다시 보시고 이해가 안가시면 질문올려주세요.