Home B2839. 설탕배달
Post
Cancel

B2839. 설탕배달

문제

image

제출 코드

image

  • 1차 풀이 (1/30, 혼자 풀이)

    • 아이디어 구상 40~1시간
    • 알고리즘 생각하는 시간이 좀 걸렸지만 코드짜는건 30분만에 끝남
    • 수정 2번정도 후에 완료
    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
    
    package bronze;
    
    import java.util.Scanner;
    
    public class B2839_sugar {
    
    	public static void main(String[] args) {
    		Scanner sc = new Scanner(System.in);
    		int num = sc.nextInt();
    
    		int min = 5000;
    		int re = 0;
    		for(int five=num/5; five>=0; five--) {
    			if(five == 0) {
    				re = num;
    			}
    			re = num - 5*five;
    			if(re%3==0 && five+re/3<min) {
    				min = five + re/3;
    			}
    		}
    		if(min == 5000) {
    			System.out.println(-1);
    		}else {
    			System.out.println(min);
    		}
    	}
    
    }
    
  • 2차 풀이 (2/15, 실습하며 풀이)

    • 처음엔 몇번 수정과정 있었던거 같은데, 이번엔 생각하고 짜는데 약 20분 소요
    • 같은 문제를 풀었는데 시간 좀 지났다고 다른 방식으로 풀어낸 게 신기했다
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    
    package bronze;
    
    import java.util.Scanner;
    
    public class B2839_sugar2 {
    
    	public static void main(String[] args) {
    		Scanner sc = new Scanner(System.in);
    
    		int N = sc.nextInt();
    		boolean isDiv = false;	// 제대로 나눠지는지 검사
    
    		for(int i=N/5; i>=0; i--) {
    			if((N-5*i)%3 == 0) {
    				System.out.println(i+(N-5*i)/3);
    				isDiv = true;
    				break;
    			}
    		}
    		if(!isDiv) System.out.println(-1);
    	}
    
    }
    
This post is licensed under CC BY 4.0 by the author.