인프런 커뮤니티 질문&답변

mink5661님의 프로필 이미지
mink5661

작성한 질문수

정말 쉽게 풀어보는 코딩 테스트 top 기본 문제 (with 자바)

미팅룸(Meeting Room)

Daily Temperature

작성

·

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의 배열에 위치를 스택에 저장하는겁니다.

강의를 보시면 이해가 가실거여여, 이 문제에 핵심은 그날의 온도를 저장했다가 며칠있다가 온도가 높아지는가

날짜비교를 하는거죠..

하여튼 다시 보시고 이해가 안가시면 질문올려주세요.

mink5661님의 프로필 이미지
mink5661

작성한 질문수

질문하기