[JavaScript] 뒤에 있는 큰 수 찾기

ksweeni·2023년 5월 9일

Programmers

목록 보기
10/20

뒤에 있는 큰 수 찾기

🎱 problem

https://school.programmers.co.kr/learn/courses/30/lessons/154539

🎱 solution

function solution(numbers) {
    
    let arr = new Array(numbers.length).fill(-1);
    let stack = [];
    
    for(let i=0; i<numbers.length;i++){
        let num = numbers[i];
        while(stack && numbers[stack.at(-1)]<numbers[i]){
            arr[stack.pop()] = num
           
        }
        stack.push(i);
    }
    
    return arr;
}

for문을 돌며 stack의 마지막 값과 현재 값을 비교한다.
현재 값이 더 클 경우, pop 해주며 현재값을 arr 에 추가한다.
while 문에 위배되지 않으면 stack에 그대로 넣는다.

0개의 댓글