Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
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
Tags
more
Archives
Today
Total
관리 메뉴

지극히 개인적인 개발블로그

백준 알고리즘 2839: 설탕 배달 본문

알고리즘

백준 알고리즘 2839: 설탕 배달

코드분쇄기 2019. 9. 28. 16:47

쉽지 않은 문제였다.

 

3가지 경우로 나누고 접근했다.

(1)5로만 나누어 지는 경우 ex)10, 20

(2)3으로만 나누어 지는 경우 ex)6, 9

(3)5와 3으로 나눌수 있는 경우 ex)11, 18

 

if문으로 분기를 나누어 판별할텐데 18은 3으로 먼저 나누어 버린다면 오답이 되므로 3으로 나누는 분기는 가장 마지막에 위치한다. 

import java.util.Scanner;

public class Sol_2839 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();

        if(n%5 == 0)
        {
            System.out.println(n/5);
            return;
        }
        else{
            int a = n/5;
            for(int i=a; i>0; i--)
            {
                int temp = n - (i*5);
                if(temp%3==0)
                {
                    System.out.println(i+(temp/3));
                    return;
                }
            }
        }

        if(n%3 == 0){
            System.out.println(n/3);
        }
        else
            System.out.println(-1);;
    }
}