//GitHub https://github.com/vellimole0621
vellimole0621 - Overview
vellimole0621 has 4 repositories available. Follow their code on GitHub.
github.com
백준 2839번 : 설탕 배달
(문제 - https://www.acmicpc.net/problem/2839)
2839번: 설탕 배달
상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그
www.acmicpc.net
문제 설명 : 설탕 N kg를 3kg 와 5kg의 봉지로 나눠 담는 데, 봉지 수가 최소한이 되도록 할 때의 봉지 수를 출력하라. 이 때 나눠 담을 수 없는 경우 -1을 출력하라
풀이 : 설탕 무게 N 입력 받음 >> 설탕 무게 확일할 중간 변수 초기화 >> 설탕 봉지 수 변수 초기화 >> 설탕 무게 계산할 이중 반복문 생성 이 때 3kg 반복문 안에 5kg 반복문을 넣어서 봉지 수가 최소한이 되도록 함 >> 나눠 담아진 경우 봉지 수 출력, 안 되는 경우 -1 출력
//2839번
package algorithm.S2208;
import java.util.*;
public class Solve220814 {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
// 담을 설탕 kg 수 입력
int N = sc.nextInt();
// 설탕 무게 확인할 중간 변수 초기화
int res = 0;
// 설탕 봉지 수 변수 초기화
int r = 0;
// 설탕 무게 계산할 반복문 생성(3kg 반복문 안에 5kg 반복문을 넣어서 최소한의 봉지 수 계산)
Loop1 :
for(int i = 0; i<5000; i++){
for(int j=0; j<5000; j++){
res = 3 * i + 5 * j;
// 설탕 무게가 다 담아 지면 반복문 종료
if(res==N){
r = i + j;
break Loop1;
}
}
}
// 설탕 봉지 수가 0이면(구할 수 없으면) >> -1 출력
if(r == 0){
System.out.print(-1);
}else {
// 설탕 봉지 수가 0이 아니면, 봉지 수 출력
System.out.print(r);
}
sc.close();
}
}
어려웠던 부분 : 이중 반복문에서 중간 설탕 무게 변수가 설탕 무게와 같아졌을 때 break 만으로 반복문 종료가 안 되어 어려움이 있었다.
그래서, Loop1 : 을 반복문 위에 두고 break Loop1 ; 을 해서 탈출하였다.
'프로그래밍 > Java' 카테고리의 다른 글
[자바 JAVA/알고리즘] 백준 1105번 : 팔 (0) | 2022.08.19 |
---|---|
[자바 JAVA/알고리즘] 백준 1343번 : 폴리오미노 (0) | 2022.08.18 |
[자바 JAVA/알고리즘] 백준 1476번 : 날짜 계산 (0) | 2022.08.18 |
[자바 JAVA/알고리즘] 백준 1340번 : 연도 진행바 (0) | 2022.08.16 |
[자바 JAVA/알고리즘] 백준 2750번 : 수 정렬하기 (0) | 2022.08.12 |