최근 프로젝트 + 토스 캠프 라는 핑계로.. 백준 문제 풀기를 소홀히 하고 있었다.
그래서 쉬워보이는 문제로 기억을 찾으려 했지만, 생각보다 쉽지 않았던 문제였다 ㅠㅠ
문제의 풀이 자체는 간단하게 5kg, 3kg 봉지를 사용해서 정해진 설탕을 최대한 적은 봉지로 가져가면 되는 문제였다.
처음엔 조건문을 5kg와 3kg 둘 다 걸어줘서 해결하려 했는데, 이러면 11같이 5, 3, 3 인 경우에 해결되지 않았다.
생각해보니 둘 다 조건문을 걸어줄 필요 없이 큰 값인 5kg에 대해서만 나누어 떨어지는 것만 체크해 주고, 3kg에 대해선 빼주고 0보다 작아지는 지만 체크하면 되는 문제였다.
최근 문제를 너무 안풀었더니 효율적으로 해결할 머리가 잘 안돌아가는 것 같다..
하루 한문제는 꾸준히 풀도록 노력해보자!
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
int result = solution(n);
System.out.println(result);
}
private static int solution(int n) {
int result = 0;
while(true) {
if(n%5 == 0){
result += n / 5;
return result;
}
else if(n < 0) {
return -1;
}
n -= 3;
result++;
}
}
}