function solution(hp) {
const G = 5
const S = 3
const W = 1
let gCount = Math.floor(hp / G) // G로 나눈 횟수
let sCount = Math.floor((hp % G) / S) // S로 나눈 횟수
let wCount = Math.floor(((hp % G) % S) / W) // W로 나눈 횟수
return gCount + sCount + wCount // 사용한 횟수 합산
}
사냥을 나가는 개미의 종류는 장군개미, 병정개미, 일개미이고, 각 개미의 공격력은 5, 3, 1 이다.
변수로 장군개미는 G, 병정개미는 S, 일개미는 W로 선언하고 각 공격력을 할당했다.
그리고 return 값이 사냥할 대상의 체력에 대해 각 개미들의 공격력을 더 해서 최소 마리 수로 데려가야한다.
예를 들어 사냥물의 체력이 23이면, 일개미 23마리가 나가도 되지만 최소 마리 수로 데리고 나가려면
장군개미 4마리, 병정개미 1마리이다.
그래서 장군개미를 데려가야하는 수를 Math.floor를 이용해서 사냥물의 hp / G로 장군개미의 수를 정하고,
ex. hp가 23이고, 장군개미가 4마리 출동하면 남은 hp는 3이니까 병정 개미가 1마리 출격하면 된다.
병정개미의 수를 구하려면 Math.floor((hp % G) / S)로 장군개미를 선발하고 남은 값에 장군 개미의 수를 구한다.
마지막으로 일 개미의 선발을 구하려면 Math.floor(((hp % G) % S) / W)로 일개미를 구하고,
각 구한 수의 값을 return값으로 반환하면 완료.
댓글