[Bronze IV] 방학 숙제 - 5532
5532번: 방학 숙제
한 줄에 하나씩 총 다섯 줄에 걸쳐 L, A, B, C, D가 주어진다. (2 ≤ L ≤ 40, 1 ≤ A, B ≤ 1000, 1 ≤ C, D ≤ 100) 항상 방학 숙제를 방학 기간내에 다 할 수 있는 경우만 입력으로 주어진다.
www.acmicpc.net
성능 요약
메모리: 17700 KB, 시간: 204 ms
분류
사칙연산(arithmetic), 수학(math)
문제 설명
상근이는 초등학교에 다닐 때, 방학 숙제를 남들보다 먼저 미리 하고 남은 기간을 놀았다. 방학 숙제는 수학과 국어 문제 풀기이다.
방학은 총 L일이다. 수학은 총 B페이지, 국어는 총 A페이지를 풀어야 한다. 상근이는 하루에 국어를 최대 C페이지, 수학을 최대 D페이지 풀 수 있다.
상근이가 겨울 방학동안 숙제를 하지 않고 놀 수 있는 최대 날의 수를 구하는 프로그램을 작성하시오.
입력
한 줄에 하나씩 총 다섯 줄에 걸쳐 L, A, B, C, D가 주어진다. (2 ≤ L ≤ 40, 1 ≤ A, B ≤ 1000, 1 ≤ C, D ≤ 100)
항상 방학 숙제를 방학 기간내에 다 할 수 있는 경우만 입력으로 주어진다.
출력
첫째 줄에 상근이가 놀 수 있는 날의 최댓값을 출력한다.
답 : 더 오래 걸리는 숙제 기간을 계산하고, 그에 따라
방학 기간에서 더 오래 걸리는 숙제 기간을 빼 더 오래 놀 수 있는 날로 출력한다.
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 koreanDays = (a % c == 0) ? a / c : a / c + 1;
int mathDays = (b % d == 0) ? b / d : b / d + 1;
// 놀 수 있는 최대 날의 수 계산
int vacationDays = (koreanDays > mathDays) ? l - koreanDays : l - mathDays;
// 결과 출력
System.out.println(vacationDays);
}
}
'algorithm > 백준' 카테고리의 다른 글
[백준] 전자레인지 - 14470 Java[자바] (0) | 2023.03.10 |
---|---|
[백준] 13866 - 팀 나누기 Java[자바] (0) | 2023.03.09 |
[백준] 오븐 시계 - 2525 Java[자바] (0) | 2023.03.05 |
[백준] 도비의 난독증 테스트 - 2204 Java[자바] (0) | 2023.03.05 |
[백준] TV 크기 - 1297 Java[자바] (0) | 2023.03.03 |