처음에 이중 for문으로 풀이를 생각하였으나 효율성에서 통과하지 못하는 문제가 발생했습니다.
그 후에 stack 자료구조를 이용해서 해결하는 방법을 선택했습니다.
function solution(numbers) {
const result = Array.from({length: numbers.length}, () => -1);
const stack = [];
for (let i = 0; i < numbers.length; i++){
while(stack.length > 0 && numbers[stack.at(-1)] < numbers[i]){
result[stack.pop()] = numbers[i];
}
stack.push(i);
}
return result;
}
'개발 > 코딩테스트' 카테고리의 다른 글
[백준] 스타트와 링크 - 14889 (0) | 2023.11.25 |
---|---|
[백준] 블랙잭 - 2798 (0) | 2023.11.23 |
[프로그래머스] [3차] n진수 게임 (1) | 2023.11.13 |
[프로그래머스] 택배상자 (0) | 2023.11.11 |
[프로그래머스] 이진 변환 반복하기 (0) | 2023.11.10 |
처음에 이중 for문으로 풀이를 생각하였으나 효율성에서 통과하지 못하는 문제가 발생했습니다.
그 후에 stack 자료구조를 이용해서 해결하는 방법을 선택했습니다.
function solution(numbers) {
const result = Array.from({length: numbers.length}, () => -1);
const stack = [];
for (let i = 0; i < numbers.length; i++){
while(stack.length > 0 && numbers[stack.at(-1)] < numbers[i]){
result[stack.pop()] = numbers[i];
}
stack.push(i);
}
return result;
}
'개발 > 코딩테스트' 카테고리의 다른 글
[백준] 스타트와 링크 - 14889 (0) | 2023.11.25 |
---|---|
[백준] 블랙잭 - 2798 (0) | 2023.11.23 |
[프로그래머스] [3차] n진수 게임 (1) | 2023.11.13 |
[프로그래머스] 택배상자 (0) | 2023.11.11 |
[프로그래머스] 이진 변환 반복하기 (0) | 2023.11.10 |