반응형
문제
https://www.acmicpc.net/problem/25757
🐍파이썬
import sys
n, p = sys.stdin.readline().split()
player = set()
ims_p = {"Y":1, "F":2, "O":3}
for _ in range(int(n)):
player.add(sys.stdin.readline().rstrip())
print(len(player)//ims_p[p])
한 번 플레이한 사람과는 다시 플레이 하지 않는다는 조건에 따라 플레이어들을 set 자료형에 넣어주어 중복을 제거한다.
한 게임에는 무조건 임스가 포함되어 있기 때문에 인원수에서 -1을 뺀 값을 (게임종류:인원수) 형식으로 사전에 등록했다.
최종적으로 플레이어수에서 임스가 선택할 플레이어의 명수를 나누어주면 게임을 진행할 수 있는 횟수가 나온다.
다른 풀이 방법
## (25757)임스와 함께하는 미니게임 [실버5]
## 윷놀이 Y : 2명 / 같은 그림 찾기 F : 3명 / 원카드 O : 4명
## 인원수가 부족하면 게임 진행 X
## 한 번 같이 플레이한 사람과는 다시 플레이하지 않음
import sys
if __name__ == "__main__":
myInput = sys.stdin.readline
N, game = map(str, myInput().split())
N = int(N)
names = set(myInput().rstrip() for _ in range(N)) # 중복이름 제거
if game == 'Y':
player = 1
elif game == 'F':
player = 2
else:
player = 3
print(len(names) // player)
사전 구현 대신 if-else 문으로 처리
반응형
'Problem Solving > 백준' 카테고리의 다른 글
[백준|파이썬] 4673: 셀프 넘버 (실버5) (0) | 2023.04.29 |
---|---|
[백준|파이썬] 9655: 돌 게임 (실버5) (0) | 2023.04.28 |
[백준|파이썬] 21966: (중략) (실버5) (0) | 2023.04.27 |
[백준|파이썬] 2891: 카약과 강풍 (실버5) (0) | 2023.04.21 |
[백준|파이썬] 2563: 색종이 (실버5) (0) | 2023.04.19 |
[백준|파이썬] 2775: 부녀회장이 될테야 (브론즈1) (0) | 2023.04.17 |