| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
- zod
- git branch 협업
- 시간 복잡도
- 알고리즘
- 멀티캠퍼스IT부트캠프
- 별찍기10
- 정렬
- 소수
- 백준
- 코딩
- 브루트포스
- 자바
- 유레카 부트캠프
- 애자일
- LG유플러스 유레카 프론트엔드
- LG유플러스 유레카 부트캠프
- 웹시큐리티
- Do it! 자료구조와 함께 배우는 알고리즘 입문
- 멀티캠퍼스IT부트캠프티
- Java
- 재귀
- 프론트엔드
- tanstack query
- LG유플러스 유레카 3기 프론트엔드
- LG유플러스 유레카 프론트엔드 개발자
- 프론트엔드 비대면반
- 부트캠프후기
- 스레드
- 2775번 문제
- 프로세스
- Today
- Total
개발 일기
백준 2839번 문제 - 설탕배달 본문

https://www.acmicpc.net/problem/2839
2839번: 설탕 배달
상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그
www.acmicpc.net
N키로의 설탕을 3킬로그램 봉지와 5킬로그램 봉지로 나누어 들어서 최대한 적은 봉지로 들고 가야 한다.
만약, 나눠 들고 갈 수 없는 경우에는 -1을 출력한다.
이는 5키로 봉지가 많을수록 좋다는 것이고 5키로로 안 나누어질 때는 3으로 나누어 들고 가야된다고 할 수 있다.
코딩
1.

for문와 if문을 사용해서 문제를 풀었다. 5키로로 최대한 들어야 개수를 줄일 수 있기 때문에 5가 주가 되어 틀을 짰다.
5로 먼저 나누고 나머지를 3으로 나눌 수 있는지를 확인하도록 했고 3으로 나눠지지 않으면 나머지에 5를 더해 3으로 나눠지는 경우의 수를 찾도록 한다. 이런 과정을 거쳐도 경우의 수가 없는 경우에는 예외사항으로 -1이 출력되게 했다.
구글에 다른 사람들의 풀이도 찾아서 확인해보니 for문을 사용하지 않는 경우도 있어 따로 코딩을 했다.
2.

for문을 사용하지 않고 5로 나머지를 구하는 특성상 경우의 수를 if로 나누어 출력하게 했다.
case 1 : 나머지가 0인 경우 5kg로 다 들고 갈 수 있다.
case 2 : 나머지가 1 또는 3인 경우
나머지가 1일 때, 5kg의 몫에서 하나 줄고 3kg의 몫이 하나 증가 된다. 결국 5의 몫값 +1이 된다.
나머지가 3일 때, 5kg의 몫과 3kg 1개가 되어 5의 몫값 +1이 된다.
case 3 : 나머지가 2 또는 4인 경우
나머지가 2일 때, 5kg의 몫은 -2가 줄고 3kg의 몫은 +4가 된다. 결국 5의 몫값 +2가 된다.
나머지가 4일 때, 5kg의 몫은 -1이 줄고 3kg의 몫은 +3이 된다. 결국 5의 몫값 +2가 된다.
결과
1.

2.

첫 번째 코딩은 for이 사용되다 보니 큰 수의 경우 반복문이 계속 돌아서 구해야된다는 점이 두 번째 코딩보다 시간이 더 걸린 것 같다.
느낀 점
수학적인 사고가 느는 것 같다. for문을 사용하지 않고 푸는 방법이 시간은 더 빠르지만 for문을 사용하면 예외를 알아서 찾아주기 때문에 굳이 직접 설정하지 않아도 알아서 찾아준다는 점은 좋은 것 같다.
참고 : https://st-lab.tistory.com/72
[백준] 2839번 : 설탕 배달 - JAVA [자바]
https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 문제 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만
st-lab.tistory.com
'백준 문제풀이' 카테고리의 다른 글
| 백준 1011번 문제풀이 - Fly me to the Alpha Centauri (0) | 2021.11.03 |
|---|---|
| 백준 10757번 문제 - 큰 수 A+B (0) | 2021.10.31 |
| 백준 2775번 문제 - 부녀회장이 될테야 (0) | 2021.10.28 |
| 백준 10250번 문제 - ACM 호텔 (0) | 2021.10.25 |
| 백준 2869번 문제 - 달팽이는 올라가고 싶다 (0) | 2021.10.25 |