Loading...
본문 바로가기
👥
총 방문자
📖
0개 이상
총 포스팅
🧑
오늘 방문자 수
📅
0일째
블로그 운영

여러분의 방문을 환영해요! 🎉

다양한 개발 지식을 쉽고 재미있게 알려드리는 블로그가 될게요. 함께 성장해요! 😊

백준 문제풀이/Nodejs

[백준][스택] 2493 탑 NodeJs 구현

by 꽁이꽁설꽁돌 2024. 12. 31.
728x90
반응형
     

목차

     

     

    https://www.acmicpc.net/problem/2493

    문제

     

     

    문제 구현 방향

    끝부터 순회하여서 스택에 저장해 놓았다가 꺼내면서 해결하는 문제이다.

     

     

    코드 구현

    const input = require("fs")
      .readFileSync("./dev/stdin", "utf-8")
      .trim()
      .split("\n");
    
    let N = +input[0];
    let ans = Array(N).fill(0);
    let arr = input[1].trim().split(" ").map(Number);
    let idxArr = arr.map((item, idx)=>[idx+1, item]);
    
    
    let stack =[];
    
    for(let i= idxArr.length-1; i >=0; i--){
        if(stack.length === 0){
            stack.push(idxArr[i]);
        }
        else{
            while(1){
                if(stack.length===0)break;
                let [topIdx, top] = stack.pop();
                if(top< idxArr[i][1]){
                    ans[topIdx-1] = idxArr[i][0];
                }
                else{
                    stack.push([topIdx, top]);
                    break;
                }
            }
            stack.push(idxArr[i]);
        }
    }
    let answer = ans.map((item)=>item).join(" ");
    console.log(answer);

     

     

    반응형