코딩테스트/프로그래머스

[프로그래머스] Java :: 개미 군단

블로그 주인장 2023. 9. 11.

문제 링크

https://school.programmers.co.kr/learn/courses/30/lessons/120837

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

문제 설명

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

입출력 예시

hp result
23 5
24 6
999 201

풀이

1. 장군개미는 5, 병정개미는 3, 일개미는 1의 공격력을 가지고 주어진 매개변수 hp에 맞게 최소한의 병력 구성해야한다.

2. hp에 몫을 answer에 넣어주고, hp의 나머지의 값을 가지고 최소한의 병력을 계산해준다.

코드

class Solution {
    public int solution(int hp) {        
        int answer = 0;
        //장군개미 : 5
        if (hp / 5 > -1) {
            answer += hp / 5;
            hp %= 5;
        }       
        
        //병정개미 : 3
       if (hp / 3 > -1) {
            answer += hp / 3;
            hp %= 3;
        }       
        //일개미 : 1
        if (hp / 1 > -1) {
            answer += hp / 1;
            hp %= 1;
        }   
        //사냥감에 체력에 맞는 최소한의 병력
        
        return answer;
    }
}
반응형

댓글