백준/브론즈4

[Java] 백준 5532번 - 방학 숙제

두부마라탕 2026. 1. 29. 17:42

https://www.acmicpc.net/problem/5532


문제

상근이는 초등학교에 다닐 때, 방학 숙제를 남들보다 먼저 미리 하고 남은 기간을 놀았다. 방학 숙제는 수학과 국어 문제 풀기이다.

방학은 총 L일이다. 수학은 총 B페이지, 국어는 총 A페이지를 풀어야 한다. 상근이는 하루에 국어를 최대 C페이지, 수학을 최대 D페이지 풀 수 있다.

상근이가 겨울 방학동안 숙제를 하지 않고 놀 수 있는 최대 날의 수를 구하는 프로그램을 작성하시오.

코드
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int L = sc.nextInt();
		int A = sc.nextInt();
		int B = sc.nextInt();
		int C = sc.nextInt();
		int D = sc.nextInt();
		
		int K = A / C; if(A%C > 0) { K += 1; }
		int M = B / D; if(B%D > 0) { M += 1; }
		
		int S = (K > M)?K:M;
		System.out.println(L-S);
	}
}

 

풀이

1. 숫자를 받는다.

2. 국어와 수학의 필요한 공부 날의 수를 구한다.

    -1. 국어 25페이지고 하루에 6페이지 풀 수 있으면 6*4+1이므로 4일은 6페이지 하루는 1페이지를 풀어야 한다.

    -2. 그렇기에 /를 사용하여 몫을 구하고 나머지가 있으면 몫 값에 1을 더해준다.

3. 국어와 수학 중 가장 오래 걸리는 날을 총 방학 날에서 빼준다.