Skip to content

Commit 263f311

Browse files
committed
[Bronze I] Title: 긴급 회의, Time: 68 ms, Memory: 34924 KB -BaekjoonHub
1 parent 46fa057 commit 263f311

File tree

2 files changed

+68
-0
lines changed

2 files changed

+68
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# [Bronze I] 긴급 회의 - 20113
2+
3+
[문제 링크](https://www.acmicpc.net/problem/20113)
4+
5+
### 성능 요약
6+
7+
메모리: 34924 KB, 시간: 68 ms
8+
9+
### 분류
10+
11+
구현
12+
13+
### 제출 일자
14+
15+
2025년 1월 3일 10:38:12
16+
17+
### 문제 설명
18+
19+
<blockquote>
20+
<p>임포스터는 누구인가?</p>
21+
</blockquote>
22+
23+
<p>플레이어들이 긴급 회의를 위해 한 자리에 모였다. 이들은 긴급 회의에서 투표를 통해 임포스터로 의심되는 플레이어 1명을 퇴출시키려고 한다.</p>
24+
25+
<p><em>N</em>명의 플레이어들 중 오직 1명만 '임포스터'이고, 나머지는 '크루원'이다. 플레이어들은 다른 플레이어가 임포스터인지 크루원인지 모르는 상태이다.</p>
26+
27+
<p>플레이어들은 각자 플레이어 1명을 투표하거나, 투표를 건너뛸 수 있다. 가장 표를 많이 받은 사람이 퇴출된다. 표를 가장 많이 받은 사람이 둘 이상이라면, 아무도 퇴출되지 않는다.</p>
28+
29+
<p>투표를 건너뛴 사람 수가 표를 가장 많이 받은 사람의 받은 표 수 이상일 경우에도 표를 가장 많이 받은 사람이 퇴출된다.</p>
30+
31+
<p>각 플레이어들의 투표 결과가 주어진다. 퇴출되는 사람은 누구일까? </p>
32+
33+
### 입력
34+
35+
<p>첫째 줄에 플레이어의 수 <em>N</em>이 주어진다. (3 ≤ <em>N</em> ≤ 100) </p>
36+
37+
<p>둘째 줄에 <em>N</em>개의 정수가 공백으로 구분되어 주어진다. <em>i</em>번째 정수 <em>X<sub>i</sub></em>는 <em>i</em>번 플레이어가 <em>X<sub>i</sub></em>번 플레이어에 투표했음을 의미한다. <em>X<sub>i</sub></em>가 0이면 <em>i</em>번 플레이어가 투표를 건너뛰었음을 의미한다. </p>
38+
39+
### 출력
40+
41+
<p>투표 결과 퇴출되는 플레이어의 번호를 출력한다. </p>
42+
43+
<p>아무도 퇴출되지 않는다면, "<code>skipped</code>" (따옴표 제외)를 출력한다.</p>
44+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
import sys
2+
from collections import Counter
3+
4+
n = int(sys.stdin.readline())
5+
vote = list(map(int, sys.stdin.readline().split()))
6+
# vote만 사용하면 0 값 처리가 어려움
7+
# 0을 제외한 후보들의 투표 수를 카운트
8+
counter = Counter(vote)
9+
if 0 in counter:
10+
del counter[0]
11+
12+
# 투표 수가 비어있으면 "skipped"
13+
if not counter:
14+
print("skipped")
15+
else:
16+
# 최다 득표수와 해당 득표수의 후보자 수 확인
17+
max_vote = max(counter.values())
18+
#res = [i for i, value in enumerate(vote) if value == max_vote]
19+
res = [i for i, value in counter.items() if value == max_vote]
20+
21+
if len(res) > 1:
22+
print("skipped")
23+
else:
24+
print(res[0])

0 commit comments

Comments
 (0)