발행일

[99클럽] 99클럽 코테 스터디 25일차TIL + 시뮬레이션

[99클럽] 99클럽 코테 스터디 25일차TIL + 시뮬레이션

이 글은 네이버 블로그에 2025년 2월 21일에 올렸던 것을 그대로 옮겨온 것입니다.

  • 오늘의 학습 키워드

  • 공부한 내용 본인의 언어로 정리하기

  • 오늘의 회고

  • 어떤 문제가 있었고, 나는 어떤 시도를 했는지

  • 어떻게 해결했는지

  • 무엇을 새롭게 알았는지

  • 내일 학습할 것은 무엇인지

const readline = require("readline");

const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
});

let input = [];

rl.on("line", (line) => {
  input.push(line.trim());
}).on("close", () => {
  solve(input);
});

function solve(input) {
  const [N, M, K] = input[0].split(" ").map(Number);
  let tasks = input.slice(1).map(Number).sort((a, b) => b - a);
  
  let satisfaction = 0;
  let days = 0;
  let output = [];

  while (tasks.length > 0) {
    tasks.sort((a, b) => b - a); // 중요도가 높은 일부터 수행
    let currentTask = tasks[0];
    
    if (currentTask <= K) {
      tasks.shift(); // 중요도가 K 이하라면 완료한 것으로 간주하고 제거
      continue;
    }
    
    satisfaction = Math.floor(satisfaction / 2) + currentTask;
    output.push(satisfaction);
    days++;
    
    tasks[0] -= M;
  }
  
  console.log(days);
  console.log(output.join("\n"));
}

필수 해시태그: #99클럽 #코딩테스트준비 #개발자취업 #항해99 #TIL

image