- [백준 알고리즘] 2839번 설탕 배달 Java2020년 06월 15일
- 홀쑥
- 작성자
- 2020.06.15.:00
설탕을 배달하는데 3킬로그램 봉지와 5킬로그램 봉지에 딱맞게 최소한의 봉투로 담고싶단다.
a : 담고 싶은 설탕 kg
b : 5kg 설탕봉투
result : 총 봉투의 개수
5kg 봉투로 최대한 담고 남은 양을 3kg에 담아야 가장 최소한의 봉투로 담기 때문에 먼저 5kg봉투로 담는다는 가정을 한다.
5kg으로만 가득 담고 남은 양이 3kg으로 나눠지는지 확인하고 안나눠진다면 5kg봉투 하나를 빼고, 또 3kg으로 나눠지는지 확인하고 안나눠지면 또 5kg봉투를 빼고 반복하다가 만약 3kg으로 나눠지면 총 봉투의 수를
b + ( a - b * 5) / 3 로 계산했다. 따라서 코드를
import java.util.Scanner; public class back2839 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a= sc.nextInt(); int result=-1; for (int b = a/5; b >= 0; b--) { if((a-b*5)%3==0) { result = b+((a-b*5)/3); break; } } System.out.println(result); } }
이렇게 짜보았다.
'Algorithm & Data Structure > 백준 알고리즘' 카테고리의 다른 글
[백준 알고리즘] 1018번 체스판 다시 칠하기 Python (0) 2021.02.16 [백준 알고리즘] 2231번 문제 분해합 구하기 Python (0) 2021.02.02 [백준 알고리즘] 2869번 달팽이는 올라가고 싶다 Java (0) 2020.06.15 [백준 알고리즘] 1193번 분수찾기 Java (0) 2020.06.15 [백준 알고리즘] 1712번 손익 분기점 Java (0) 2020.06.15 다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)