728x90
https://www.acmicpc.net/problem/5532
5532번: 방학 숙제
문제 상근이는 초등학교에 다닐 때, 방학 숙제를 남들보다 먼저 미리 하고 남은 기간을 놀았다. 방학 숙제는 수학과 국어 문제 풀기이다. 방학은 총 L일이다. 수학은 총 B페이지, 국어는 총 A페이지를 풀어야 한다. 상근이는 하루에 국어를 최대 C페이지, 수학을 최대 D페이지 풀 수 있다. 상근이가 겨울 방학동안 숙제를 하지 않고 놀 수 있는 최대 날의 수를 구하는 프로그램을 작성하시오. 입력 한 줄에 하나씩 총 다섯 줄에 걸쳐 L, A, B, C, D가
www.acmicpc.net
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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | #include <stdio.h> int vacation(int L, int A, int B, int C, int D) { int day_math, day_lan; if ((A%C) != 0) { day_lan = A / C + 1; } else day_lan = A / C; if ((B%D) != 0) { day_math = B / D + 1; } else day_math = B / D; return (day_lan > day_math) ? L - day_lan : L - day_math; } int main(){ int L, A, B, C, D; scanf("%d\n", &L); scanf("%d\n", &A); scanf("%d\n", &B); scanf("%d\n", &C); scanf("%d", &D); printf("%d\n", vacation(L, A, B, C, D)); // Q2 return 0; } | cs |
답지를 보지 않고 풀었다.
그래서 아마 정제된 다른 풀이에 비해 초보티가 팍팍 날 것이다.
분명 길이와 메모리 사용 면에서 더 절약이 가능할텐데
아직 그런 수준은 커녕 정답 맞추기도 헥헥
가장 핵심은 두 과목의 숙제량이 얼마인지는 중요치 않고,
숙제량 / 하루동안 풀수 있는 양 = ( 벼락치기 시 며칠 걸리는 지 )
가 핵심.
만약 국어가 3일, 수학이 5일 걸리면 아무리 뺀질대도 5일동안은 공부만 해야 한다.
따라서 총 방학일 수 - (더 오래걸리는 과목의 벼락치기 날짜) = 놀수 있는 최대 일
'프로그래밍 > programmers&bj' 카테고리의 다른 글
[C++][알고리즘] 프로그래머스::체육복 풀이 (0) | 2019.08.20 |
---|---|
[C++][알고리즘] 프로그래머스 "모의고사" 문제(완전탐색) 코드 (0) | 2019.08.18 |
[C++][알고리즘] 프로그래머스 "더맵게" 문제(heap) (0) | 2019.08.18 |
[JAVA][알고리즘] 백준 1330번 두 수 비교하기 (0) | 2019.08.08 |
[C][알고리즘] 백준 9095번 (0) | 2019.08.08 |