백준 11509번 JavaScript

yj j·2023년 12월 26일
0
const fs = require("fs");
const input = fs.readFileSync("/dev/stdin").toString().trim().split("\n");

const n = Number(input[0]);
const arr = input[1].split(" ").map(Number);
let result = 0;
const arrow = new Array(1000001).fill(0);
for (const i of arr) {
  //각 높이에 화살 있는지 확인
  if (arrow[i] > 0) {
    //해당 위치 화살 하나 제외
    arrow[i] -= 1;
    //화살이 한 칸 아래로 이동해서 존재
    arrow[i - 1] += 1;
  } else { //해당 위치에 화살 없으면
    //화살 다음 높이로 떨어짐
    arrow[i - 1] += 1;
    result += 1; //해당 화살 사용 완료
  }
}

console.log(result);

화살이 존재할 수 있는 모든 위치의 각각 화살의 수를 셉니다.
현재 화살의 위치인 h 다음에는 h-1에 화살이 존재할 것입니다.
현재 위치에 화살이 없다면, 새로운 화살을 사용하게 됩니다.

profile
꿈꾸는 사람

0개의 댓글

관련 채용 정보