Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Tags more
Archives
Today
Total
관리 메뉴

luke

[프로그래머스] - 개미 군단 (자바/Java) 본문

알고리즘문제/프로그래머스(Java)

[프로그래머스] - 개미 군단 (자바/Java)

luke-king 2024. 5. 10. 21:37

 

 

 

 

 

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

 

프로그래머스

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

programmers.co.kr

 

 

 

 

 

 

 

 

 

문제.


 

 

 

 

 

 

 

 

풀이.


 

class Solution {
    public int solution(int hp) {
        int answer = 0;
        int[] arr = {5,3,1};
        
        for(int i = 0; i < arr.length; i++){
            if(hp / arr[i] != 0){
                answer += hp / arr[i];
                hp %= arr[i];
            }
        }
        return answer;
    }
}

 

프로그래머스 문제 중 " 개미 군단 "이라는 문제다.

그저 심심해서 프로그래머스 앞부분 문제를 푸는데... 오늘 올린 글 백준 문제랑 풀이가 너무 똑같다...

그래도!! 설명은 적어두는게 좋으니 바로 문제 풀이로 가보겠다.

 

1. 데미지를 주는 수를 배열로 만들어 준다.

 

2. 배열의 길이만큼 반복문을 돌려준다.

 

3. 여기서부터가 메인이다. hp가 0이 되면 종료가 되므로 0이 아닐 경우 조건식 실행을 시킨다.

 

4.  answer은 hp / arr[i] 의 몫이 개미의 수라 생각하면 된다.

(23 / 5 의 몫은 4이다 그 후 나머지 3은 또다시 반복문을 통하면 배열 내에 3 이 있기에 몫이 1이 되고 합하면 answer = 5)

 

5. hp %= arr[i] 는 23 % 5 값은 3이 나온다 즉 hp가 3이 되는 것이다 그렇게 되면 hp는 다시 배열 내에 인덱스 차례대로 비교한 뒤 3이 있으므로 answer 값이 1이 증가해 최종 값은 5가 나온다.