알고리즘 연습
[2839번] 설탕배달 - Java
밀깜
2021. 11. 11. 20:59
1. 배운점
- 반복문을 사용할 때는 실행을 최소화할 방법을 생각해본다.
- 다중 반복문을 다룰 때 반복문 앞에 Loop + 번호를 붙여 쉽게 종료시킬 수 있다.
2. 개선할 점
3. 궁금한 점
4. 풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// import java.util.Scanner
Scanner scan = new Scanner(System.in);
// N 입력받기
int sugarBags = scan.nextInt();
// 봉지의 최소 개수 출력하기
int minBags = minimumBags(sugarBags);
System.out.println(minBags);
}
// 최소 개수 구하는 메서드
private static int minimumBags(int sugarBags) {
int result = 0;
Loop1 : // 5kg짜리 봉지를 최대한 사용한다
for(int i = sugarBags/5; i >=0; i--) {
Loop2 : // 3kg 봉지를 최소한으로 사용한다
for(int j = 0; j <= sugarBags/3; j++) {
if(i * 5 + j * 3 == sugarBags) {
result = i + j;
break Loop1;
}
}
if(result == 0) {result = -1;}
}
return result;
}
}