반응형
출처: http://www.hancom.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=1215&sca=50
Approach
- 한 명의 입장
2 2 2 → 첫번째 사람 입장에서 자신을 제외하고 2명이 하얀모자를 사용하고 있다고 합니다.
그렇다면 전체 인원 중에서 하얀모자를 사용하고 있는 사람은
본인이 포함(2 + 1)되거나 아닌 경우(2)로 나누어 집니다.
- 최소값으로 지목한 사람의 입장
case: [0 0 1 0 0 1] → 2 2 1 2 2 1
: 자신을 제외하고 하얀모자를 사용하고 있는 경우는
『1』이며 실제 하얀모자를 사용하고 있는 사람 수 『1』 + 1 입니다.
case: [1 1 1 1 0 1] → 4 4 4 4 5 4
: 최솟값 『4』 이며, 실제 하얀모자를 사용하고 있는 사람 수 『4』 + 1
case: [0 0 0 1] → 1 1 1 0
: 최솟값 = 『0』 이며, 실제 하얀모자를 사용하고 있는 사람 수 『0』 + 1
불가능한 경우는 없으므로,
모든 사람이 하얀모자를 사용하지 않는 경우를 제외하고는 최소값 + 1이 됩니다.
ex) case [0 0 0 0] → 0 0 0 0 → 하얀 모자를 사용한 사람 = 0
#include <stdio.h>
int N, arr[50];
int min = 51, max = 0;
int main() {
scanf("%d", &N);
for(int i=0; i<N; ++i){
scanf("%d", arr + i);
if(min > arr[i]) min = arr[i];
if(max < arr[i]) max = arr[i];
}
// 모자가 존재하지 않는 경우 (모든 원소 = 0)
if(max == 0){
printf("0");
return 0;
}
printf("%d", min + 1);
}
반응형
'PS 문제 풀이 > Jungol' 카테고리의 다른 글
[Jungol] 정올 1936 꼭지점 개수 (0) | 2021.03.16 |
---|---|
[Jungol] 정올 1839 배부른 돼지 (0) | 2021.03.16 |
[Jungol] 정올 2194 요플레 공장 (0) | 2021.03.15 |
[Jungol] 정올 3292 집합관리 (0) | 2021.03.15 |
[Jungol] 정올 1141 불쾌한 날(Bad Hair Day) (0) | 2021.03.15 |
댓글