[알고리즘] 설탕 배달

2024. 2. 13. 09:42알고리즘 풀이/Java

https://www.acmicpc.net/problem/2839

 

2839번: 설탕 배달

상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그

www.acmicpc.net

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Main {
	static StringBuilder sb = new StringBuilder();
	public static void main(String[] args) throws Exception {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int N = Integer.parseInt(br.readLine());
		
		int five = N / 5;
		for (int i = five; i >= 0; i--) {
			int rest = N - 5 * i;
			if (rest % 3 != 0) {
				if (i == 0) {
					sb.append(-1);
					break;
				}
				continue;
			} else {
				sb.append(i + rest / 3);
				break;
			}
		}
		System.out.println(sb);
	}
}

나의 풀이

- 그리디로 풀 수 있는 문제

- 다만 5를 얼마나 쓰는지를 기준으로 loop를 돌아야 모든 경우의 수를 고려할 수 있다.

- loop를 돌며 정상적인 조건을 만족한다면 그게 최소이기 때문에 loop를 빠져나온다.

'알고리즘 풀이 > Java' 카테고리의 다른 글

[알고리즘][X] Z  (1) 2024.02.14
[알고리즘] 쿼드트리  (1) 2024.02.14
[알고리즘] 중위 순회  (0) 2024.02.12
[알고리즘] 절댓값 힙  (0) 2024.02.07
[알고리즘][X] 색종이  (1) 2024.02.06