프로그래머스 코딩테스트 입문 0단계 문제입니다
https://school.programmers.co.kr/learn/courses/30/lessons/120837
📢 문제 설명
개미 군단이 사냥을 나가려고 합니다. 개미군단은 사냥감의 체력에 딱 맞는 병력을 데리고 나가려고 합니다. 장군개미는 5의 공격력을, 병정개미는 3의 공격력을 일개미는 1의 공격력을 가지고 있습니다. 예를 들어 체력 23의 여치를 사냥하려고 할 때, 일개미 23마리를 데리고 가도 되지만, 장군개미 네 마리와 병정개미 한 마리를 데리고 간다면 더 적은 병력으로 사냥할 수 있습니다. 사냥감의 체력 hp가 매개변수로 주어질 때, 사냥감의 체력에 딱 맞게 최소한의 병력을 구성하려면 몇 마리의 개미가 필요한지를 return하도록 solution 함수를 완성해주세요.
⭕ 정답 코드
1. 나의 풀이
class Solution {
public int solution(int hp) {
int answer = hp/5;
hp %= 5;
answer += hp/3;
hp %= 3;
answer += hp; //1은 나눌 필요가 없음
return answer;
}
}
- / 연산자: 필요한 개미수
- % 연산자: 충족된 병력을 뺀 나머지 개미수. 이 나머지로 다시 /연산자를 진행한다
2. 다른 분의 풀이
class Solution {
public int solution(int hp) {
return (hp/5) + ((hp%5) / 3) + ((hp%5) % 3);
}
}
- (장군개미) + (병정개미) + (일개미)
- (5로 나눈 몫) + ((장군개미 빼고 남은 개미수)/3) + (장군개미와 병정개미 빼고 남은 수, /1해도 안 해도 같은 결과)
- 이해가 안 된다면 이렇게 => return (hp/5) + ((hp%5) / 3) + (((hp%5) % 3)/1);
✅ 회고
사실.. 1월 27일 문제인데 안 풀려서 미루다가 이제 올린다 반성!
그렇지만 그냥 넘기지 않고 해결한 나에게 칭찬!
'코딩테스트 스터디' 카테고리의 다른 글
코딩테스트 연습 - 대문자와 소문자 (JAVA) (0) | 2023.03.02 |
---|---|
코딩테스트 연습 - 가위 바위 보 (JAVA) (0) | 2023.03.02 |
코딩테스트 연습 - 공 던지기 (JAVA) (0) | 2023.03.01 |
코딩테스트 연습 - 한 번만 등장한 문자(JAVA) (0) | 2023.02.28 |
코딩테스트 연습 - k의 개수 (JAVA) (0) | 2023.02.28 |