반응형
코딩테스트 개미 군단
문제 설명
출력 예시
장군개미는 데미지가 5
병정개미는 데미지가 3
일개미는 데미지가 1 입니다.
개미들끼리 레이드 하러 가는데 보스몹을 딱뎀으로 잡아야 합니다!
보스몹의 hp수치에 맞게 개미들의 숫자를 최소병력으로 딱 맞게 출력해야 합니다.
예를 들어 hp가 23인 보스몹을 잡으려면
장군개미 4마리(20), 병정개미 1마리(3)
마리의 개미들이 필요합니다.
그러므로 개미의 수는 5 가 답이 됩니다
let hp = 999;
var answer = 0;
if(hp%5 == 0){
answer += Math.floor(hp/5);
}
보스몹의 hp가 랜덤으로 주어지니 999인 셈 치고 코딩해보겠습니다.
보스피가 5로 나눴을 때 나머지가 0으로 딱 떨어지면 데미지가 5인 장군개미로만 레이드는 끝납니다.
하지만 나머지가 1~4로 나왔을 때 병정개미, 일개미들이 일해야 하니 else if 문을 써봅시다!
let hp = 999;
var answer = 0;
if(hp%5 == 0){
answer += Math.floor(hp/5);
} else if(hp%5 == 4 || hp%5 == 2 ){
answer += Math.floor(hp/5) + 2;
} else if(hp%5 == 3 || hp%5 == 1){
answer += Math.floor(hp/5) + 1;
}
//answer 201
바보같이 수작업으로 코딩을 했지만 답이 나오면 장땡입니다..
hp를 5로 나눴을 시 나머지가 4, 2일 경우 병정개미,일개미가1마리씩 투입되니 5나눈 몫에 2만 더해주면 됩니다.
나머지가 3 일 경우엔 병정개미 1마리, 1일 경우엔 일개미가 1마리 투입되니 5나눈 몫에 1만 더해주면 끝납니다~
그러므로 답은 장군개미 199마리, 병정개미 1마리, 일개미 1마리 이므로 답은 201마리!