728x90
문제
구름-그라운드 게임에는 통증이라는 시스템이 있다. 통증 수치가 높다면 게임에서 승리하기 어려워지므로, 아이템을 적절히 사용해 통증 수치를 0으로 유지하는 것이 중요하다. 게임 안에는 통증 수치를 감소시켜 주는 아이템이 3 종류가 있다. 아이템의 이름은 bandage, medicine, painkilter 이고, 각 아이템을 사용 시 1,7, 14 만큼 통증 수치를 감소시켜 준다. 각 아이템은 원하는 만큼 획득할 수 있다. 플레이어는 적과의 전투에서 피해를 입어 현재 N의 통증 수치를 가지고 있다. 플레이어가 통증 수치를 0으로 줄이기 위해 필요한 아이템의 최소 개수를 구해보자. 단, 사용했을 때 통증 수치가 0보다 작아지는 아이템은 사용할 수 없음에 유의하시오.
입력
첫째줄에 플레이어의 통증 수치를 나타내는 정수 N이 주어진다.
- 1≤ N ≤ 10^9
출력
플레이어가 통증 수치를 0으로 줄이기 위해 필요한 아이템의 최소 개수를 출력한다.
제출코드
const readline = require('readline');
let rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
let input=[];
let n =Number(input);
let answer=0;
rl.on('line', (line) => {
input.push(line);
});
rl.on('close', () => {
let n =Number(input);
while(n>0){
if(n===1 ||n===7 || n===14){
answer+=1;
break;
}else if(n<7){
n-=1;
answer+=1;
}else if(n<14){
n-=7;
answer+=1;
}else if (n>14){
n-=14;
answer+=1;
}
}
console.log(answer)
})
배운점
- Greedy 알고리즘 의미에 대해 배웠다.
느낀점
- 지금보니 반복되는 부분들이 많아서 다음에는 이 부분에 신경써서 동일한 코드를 줄이는 방식으로 구현해봐야겠다.
- 2주차부터 문제의 난이도가 점점 올라가는 것을 체감했다.
728x90
'코테 > 구름톤 챌린지' 카테고리의 다른 글
[ 구름톤 챌린지 ] 문자열 나누기 (0) | 2023.08.21 |
---|---|
[ 구름톤 챌린지 ] 이진수 정렬 (0) | 2023.08.20 |
[ 구름톤 챌린지 ] 완벽한 햄버거 만들기 (0) | 2023.08.20 |
[ 구름톤 챌린지 ] 합 계산기 (0) | 2023.08.20 |
[ 구름톤 챌린지 ] 프로젝트 매니징 (0) | 2023.08.20 |