백준 BOJ C# 2839 설탕 배달

2020. 2. 17. 20:57백준 알고리즘 단계별/수학 1 단계

반응형

백준 BOJ C# 2839 설탕 배달

 

출제 링크 : https://www.acmicpc.net/problem/2839

 

2839번: 설탕 배달

문제 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그램 봉지와 5킬로그램 봉지가 있다. 상근이는 귀찮기 때문에, 최대한 적은 봉지를 들고 가려고 한다. 예를 들어, 18킬로그램 설탕을 배달해야 할 때, 3킬로그램 봉지 6개를 가져가도 되지만, 5킬로그램 3개와 3킬로그램 1개를 배달하면, 더 적은 개수의 봉지를 배달할 수

www.acmicpc.net

 

접근 방법

예외를 생각해 봤다.

  1. 3의 배수, 5의 배수인지 체크
  2. 3으로 나누었을 때 나머지가 5의 배수일 경우 체크
  3. 5로 나누었을 때 나머지가 3의 배수일 경우 체크
  4. 위 1.2.3. 의 경우에 부합하면 나누어지지 않는 경우 이므로 -1 출력

처음에는 for문으로 나누어질때 마다 나머지 값을 체크하는 방법을 사용했지만 조금 찾아보면서 소스를 찾아보니 나눗셈은 결국 한번한번 빼준다는 걸 깨달았습니다. 결국 while문으로 한번 빼주면 그게 나머지 값 이므로 순차적으로 체크하기에 더 용이하였습니다.

 

나눗셈 = 빼준다

 

는 수학적 접근이 필요했던 부분이였습니다.

 

코드

 

반응형