개미 군단이 사냥을 나가려고 합니다. 개미군단은 사냥감의 체력에 딱 맞는 병력을 데리고 나가려고 합니다. 장군개미는 5의 공격력을, 병정개미는 3의 공격력을 일개미는 1의 공격력을 가지고 있습니다. 예를 들어 체력 23의 여치를 사냥하려고 할 때, 일개미 23마리를 데리고 가도 되지만, 장군개미 네 마리와 병정개미 한 마리를 데리고 간다면 더 적은 병력으로 사냥할 수 있습니다. 사냥감의 체력 hp가 매개변수로 주어질 때, 사냥감의 체력에 딱 맞게 최소한의 병력을 구성하려면 몇 마리의 개미가 필요한지를 return하도록 solution 함수를 완성해주세요.
| hp | result |
|---|---|
| 23 | 5 |
| 24 | 6 |
| 999 | 201 |
#include <string>
#include <vector>
using namespace std;
int solution(int hp) {
int answer = 0;
int general = hp/5;
int soldier = (hp%5)/3;
int worker = ((hp%5)%3)/1;
answer = general + soldier + worker;
return answer;
}
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
int solution(int hp) {
int answer = 0;
while(hp >= 5){
hp -= 5;
answer++;
}
while(hp >= 3){
hp -= 3;
answer++;
}
while(hp >= 1){
hp -= 1;
answer++;
}
return answer;
}
전 이런 문제를 볼 때 마다 장군개미 한마리를 데려가서 일개미 5마리의 힘을 내고 희생된다면 과연 그게 동일한 병력을 낸 더 효과적인 전투법이었을까요? 장군개미나 병정개미를 육성하는데에 그 개미의 재능, 주변의 노력이 더 필요했을테지만 일개미는 금방 대체가 가능한걸요 그렇다고 일개미의 목숨이 더 가볍다는 것은 아니지만.. 좀 더 철학적으로 접근해서 문제를 제출할 필요가 있지 않았을까 하는 생각은 듭니다. 단순히 숫자놀이로 접근하는 것이 아닌 이런 문제 일수록 더 구체적이고 완벽한 상황 설명을 제시해 준다면 개발자들이 조금 더 몰입해서 문제를 풀 수 있을텐데.. 너무 간단히 하나의 문제로만 생각해서 깊이있는 망상을 하지 못하게 하는 것이 조금은 아쉽다는 생각이 매번 듭니다. 연설 들어주셔서 감사합니다. o(^▽^)o