[백준5585_자바스크립트(javascript)] - 거스름돈

경이·2024년 10월 8일

𝑩𝑶𝑱 (𝒋𝒔)

목록 보기
214/325

🔴 문제

거스름돈


🟡 Sol

const fs = require('fs');
const path = process.platform === 'linux' ? '/dev/stdin' : 'Wiki\\input.txt';
let n = 1000 - Number(fs.readFileSync(path));

let ans = 0;

while (true) {
  let coin;

  if (n >= 500) coin = 500;
  else if (n >= 100) coin = 100;
  else if (n >= 50) coin = 50;
  else if (n >= 10) coin = 10;
  else if (n >= 5) coin = 5;
  else {
    ans += n;
    break;
  }

  ans += Math.floor(n / coin);
  n = n % coin;
}
console.log(ans);

🟢 풀이

⏰ 소요한 시간 : -

그리디 문제 유형..!
큰 금액부터 나누어주면 된다.
만약 500원보다 크다면 ansn500으로 나눈 값을 내림하여 더해주면 되고 나머지는 n에 재할당해준다. 나머지 금액도 계속 확인해준 뒤 1원단위가 되었을 때 반복을 종료해주면 된다...!


🔵 Ref

profile
록타르오가르

0개의 댓글