algorithm - 설탕배달

박선우·2022년 7월 5일
0

알고리즘

목록 보기
11/15
post-thumbnail

1.문제

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

제한사항
첫째 줄에 N이 주어진다. (3 ≤ N ≤ 5000)

2.입출력 예제

nreurn
184
4-1
62
93
113

3. 코드

function solution(n) {
    let count = 0;

    while (true) {
        if (n % 5 === 0) { //입력값이 5로 나눠어지면
            count += n / 5; // 몫 count 추가
            break;
        }
        n -= 3; // 입력값에서 3을 빼고
        count += 1; // 3을 빼고 나면 count+1

        if (n < 0) { // 나눌수 없는 숫자일때
            count = -1;
            break;
        }
    }
    return cnt;
}
console.log(solution(18));
console.log(solution(4));
console.log(solution(6));
console.log(solution(9));
console.log(solution(11));
  • 반복문이기 때문에 18이라는 입력값을 받으면 처음 if문을 지나 n-3 count += 1 이되고 다시 while문 처음으로 돌아가 if 문이 실행되고 나면 break를 만나 빠져 나오게 된다.
profile
코린이 열심히 배우자!

0개의 댓글