๐ŸŽฒ ๋ฐฑ์ค€ 2493๋ฒˆ ํƒ‘

Jeongeunยท2024๋…„ 2์›” 15์ผ
0

๋ฐฑ์ค€

๋ชฉ๋ก ๋ณด๊ธฐ
165/187

๐Ÿ“ฃ ๋ฌธ์ œ

๐Ÿงธ ์ฒ˜์Œ์— ๋ฌธ์ œ๋ฅผ ์ž˜๋ชป์ฝ๊ณ  ์ˆ˜์‹  ๊ฐœ์ˆ˜๋ฅผ ์„ธ๊ณ  ์žˆ์—ˆ๋‹ค. ์ž˜๋ชป๋จ์„ ๊นจ๋‹ซ๊ณ  tops๋ฅผ [index,๋†’์ด]์˜ ๋ฐฐ์—ด๋กœ ๋งŒ๋“ค์–ด ํ•ด๊ฒฐํ–ˆ๋‹ค.

์ฝ”๋“œ

const fs = require('fs'); 
const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');
const N = +input.shift();

const tops = input[0]
  .split(" ")
  .map((el, index) => [index, +el])
  .reverse();
const answer = new Array(N).fill(0);
const stack = [];
stack.push(tops[0]);

for (let i = 1; i < N; i++) {
  while (stack.length) {
    if (stack[stack.length - 1][1] < tops[i][1]) {
      const top = stack.pop();
      answer[top[0]] = N - i;
    } else break;
  }
  stack.push(tops[i]);
}

console.log(
  answer.join(" ")
);

0๊ฐœ์˜ ๋Œ“๊ธ€