극동대학교\AI컴퓨터공학과\JAVA/프로그래머스 코딩테스트 입문

[프로그래머스, 입문] 개미 군단

sundori 2024. 6. 14. 21:34

목차

    문제 설명

    개미 군단이 사냥을 나가려고 합니다. 개미군단은 사냥감의 체력에 딱 맞는 병력을 데리고 나가려고 합니다. 장군개미는 5의 공격력을, 병정개미는 3의 공격력을 일개미는 1의 공격력을 가지고 있습니다. 예를 들어 체력 23의 여치를 사냥하려고 할 때, 일개미 23마리를 데리고 가도 되지만, 장군개미 네 마리와 병정개미 한 마리를 데리고 간다면 더 적은 병력으로 사냥할 수 있습니다. 사냥감의 체력 hp가 매개변수로 주어질 때, 사냥감의 체력에 딱 맞게 최소한의 병력을 구성하려면 몇 마리의 개미가 필요한지를 return하도록 solution 함수를 완성해주세요.

     

    class Solution {
        public int solution(int hp) {
            int count = hp / 5;
            hp %= 5;
            count += hp / 3;
            hp %= 3;
            count += hp;
            return count;
        }
    }

    가장 효율적인 숫자의 개미들을 데리고 사냥을 간다고 한다.

    우선 주어진 hp가 23이라면 장군개미 4마리 병정 개미 1마리면 효율적인 사냥이 가능하다.

    그러면 이것을 어떻게 코드로 작성할가인데, 우선 주어진 hp(23) / 5를 하면 4가 나온다.

    그 후 23 % 5는 3이 나오는데 이게 남은 hp이다 이제 남은 hp에서 / 3을하면 된다. 이런 방식으로 일개미까지하면

    최소한의 병력을 구할 수 있다.