반응형
출처: http://jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=1112&sca=50
Approach
① 초기 left = 3, right = 9
② 먹이의 횟수를 만족(Y)하면서 기존 right값보다 작으면 right 값 갱신
불만족(N)할 때, 기존 left 값보다 큰 경우 left 값 갱신
③ left > right이면 모순 그렇지 않으면 left 값 출력
※ n = 0일 때, 모순으로 가준하여 "F" 출력
Sample Case 1 시뮬레이션
초기 left = 3, right = 9
4 N → left = 5 | right = 9 → "최소 5회 이상 먹이를 줘야 한다."
7 Y → left = 4 | right = 7 → "7번까지만 주어도 만족한다."
5 N → left = 6 | right = 7 → "최소 6회 이상 먹이를 줘야 한다."
6 Y → left = 6 | right = 6 → "6번까지만 주어도 만족한다."
▶ left(= 6) ≤ right(= 6) 이므로 모순 X
Sample Case 2 시뮬레이션
초기 left = 3, right = 9
5 Y → left = 3 | right = 5 → "5번까지만 주어도 만족한다."
6 N → left = 7 | right = 5 → "최소 7회 이상 먹이를 줘야 한다."
▶ left(= 7) > right(= 5)이므로 모순
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void) {
// freopen("input.txt", "r", stdin);
int N, eatCnt;
char isOk;
int left = 3, right = 9;
scanf("%d", &N);
if (N == 0) {
printf("F");
return 0;
}
for (int i = 0; i < N; ++i) {
scanf("%d", &eatCnt);
scanf(" %c", &isOk);
if (isOk == 'N' && left < eatCnt + 1) left = eatCnt + 1;
else if (isOk == 'Y' && right > eatCnt) right = eatCnt;
}
if (left > right) printf("F");
else printf("%d", left);
}
반응형
'PS 문제 풀이 > Jungol' 카테고리의 다른 글
[Jungol] 정올 1035 최대값 (0) | 2021.03.16 |
---|---|
[Jungol] 정올 1936 꼭지점 개수 (0) | 2021.03.16 |
[Jungol] 정올 1942 하얀모자 (0) | 2021.03.15 |
[Jungol] 정올 2194 요플레 공장 (0) | 2021.03.15 |
[Jungol] 정올 3292 집합관리 (0) | 2021.03.15 |
댓글