코딩테스트연습/[프로그래머스] Java

[프로그래머스] Java 코딩테스트 연습 - 개미 군단

_꼬마돌 2023. 7. 18. 00:49
반응형

[프로그래머스] Java 코딩테스트 연습 - 개미 군단

문제 출처

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

 

프로그래머스

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

programmers.co.kr

 

문제

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

 

풀이

최소한의 병력을 구성하는 것이 목표이므로 먼저 공격력이 가장 큰 5로 hp를 나눈 값을 ant에 더하고(장군개미의 수), hp를 5로 나눈 값의 나머지를 hp에 재할당했다. 그리고 그 값을 3으로 나눈 뒤 ant에 더하고(병정개미의 수), hp를 3으로 나눈 값의 나머지를 hp에 재할당, 다시 그 값을 1로 나눈 뒤 ant에 더했다(일개미의 수). 

 

소스코드

class Solution {
    public int solution(int hp) {
        int ant = 0;
        
        ant += (hp / 5);
        hp %= 5;
        
        ant += (hp / 3);
        hp %= 3;
        
        ant += (hp / 1);
        
        return ant;
    }
}​

 

반응형