스택 예제 - 2
문제 분석
N의 최대 크기가 100,000이므로 모든 수를 반복문으로 오큰수를 찾으면 제한 시간을 초과한다.스택을 사용해 해결할 수 있다.
핵심 아이디어
스택에 새로 들어오는 수가
top에 존재하는 수보다 크면 그 수는 오큰수가 된다.오큰수를 구한 후 수열에서 오큰수가 존재하지 않는 숫자에 -1을 출력한다.
손으로 풀어보기
스택이 채워져 있고,
A[index] > A[top]인 경우pop한 인덱스를 이용하여 정답 수열에 오큰수를 저장한다.pop은 조건을 만족하는 동안 반복한다.현재 인덱스를 스택에
push하고 다음 인덱스로 넘어간다.과정 1~2를 수열 길이만큼 반복한 다음 현재 스택에 남아있는 인덱스에 -1을 저장한다.


슈도코드
코드 구현 - 파이썬
코드 구현 - 자바
Last updated