티스토리 뷰

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

 

3015번: 오아시스 재결합

첫째 줄에 줄에서 기다리고 있는 사람의 수 N이 주어진다. (1 ≤ N ≤ 500,000) 둘째 줄부터 N개의 줄에는 각 사람의 키가 나노미터 단위로 주어진다. 모든 사람의 키는 231 나노미터 보다 작다. 사람

www.acmicpc.net

 

 

 

 

const fs = require('fs');
const input = fs.readFileSync("./dev/stdin").toString().trim().split('\n').map(Number);
const N = input.shift();
let answer = 0;
let s = [];
for (let i = 0; i < N; i++) {
  const now = input[i]

  // console.log("========value: ", now,"==============")
  let same = 1;
  while (s.length > 0 && s[s.length - 1].value <= now) {
    answer += s[s.length - 1].same;

    if (s[s.length - 1].value == now) {
      same = s[s.length - 1].same + 1;
    } else {
      same = 1;
    }
    s.pop();
  }
  if (s.length > 0) {
    answer++;
  }
  s.push({ value: now, same })
  //   console.log('stack: ', s)
  //   console.log('answer: ', answer);
  //   console.log('=========================================');
}

console.log(answer)
728x90
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함