[백준] 거스름돈 #14916
후기
생각해보면 -1이 나올 경우가 N이 1과 3일때 뿐이어서 해당 숫자일 경우 -1을 리턴해줬다.
나머지는 greedy 문제답게 최대한 5원짜리 동전을 많이쓰려했고, 많이쓰려했지만 나머지가 홀수일 경우 하나빼주면 짝수가 되서 무조건 2로 나누어 떨어지기 때문에 아래와 같이 코드를 구현했다.(홀수 + 홀수(5) = 짝수 이므로)
Node.js 풀이
const fs = require('fs');
const input = fs.readFileSync('/dev/stdin').toString().trim();
const solution = (N) => {
if (N === 1 || N === 3) return -1;
let nFive = Math.floor(N / 5);
N = N % 5;
if (N % 2 === 1) {
nFive--;
N += 5;
}
return nFive + N / 2;
};
console.log(solution(Number(input)));
Author And Source
이 문제에 관하여([백준] 거스름돈 #14916), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@ahu8867/백준-거스름돈-14916저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)