프로그래밍/백준

[알고리즘] 백준 25757 파이썬 - 임스와 함께하는 미니게임

매 석 2022. 11. 22. 22:20
반응형

 

 

25757번: 임스와 함께하는 미니게임

첫 번째 줄에는 임스와 함께 플레이할 사람의 수 $N$과 같이 플레이할 게임의 종류가 주어진다. $(1 \le N \le 100\,000)$ 두 번째 줄부터 $N$개의 줄에는 같이 플레이하고자 하는 사람들의 이름이 문자

www.acmicpc.net

 

문제

임스가 미니게임을 같이할 사람을 찾고 있습니다.

플레이할 미니게임으로는 윷놀이 Y, 같은 그림 찾기 F, 원카드 O가 있습니다. 각각 2, 3, 4 명이서 플레이하는 게임이며 인원수가 부족하면 게임을 시작할 수 없습니다.

임스와 함께 게임을 플레이할 사람 수 N과 임스가 플레이할 게임의 종류가 주어질 때, 최대 몇 번이나 임스와 함께 게임을 플레이할 수 있는지 구하시오.

임스와 여러 번 미니게임을 플레이하고자 하는 사람이 있으나, 임스는 한 번 같이 플레이한 사람과는 다시 플레이하지 않습니다.

임스와 함께 플레이하고자 하는 사람 중 동명이인은 존재하지 않습니다. 임스와 lms0806은 서로 다른 인물입니다.

 

문제풀이

import sys
input = sys.stdin.readline
dict = {"Y":2,"F":3,"O":4}
a,b=map(str,input().split())
ans=set([])
y = dict[b]-1
for i in range(int(a)):
    ans.add(input().rstrip())
print(len(ans)//y)

- 우선 dict에 Y,F,O의 사람 수를 각각 저장했다.

- 이후 ans에 중복없이 입력값을 추가해준다.

- 이후 ans의 길이를 y 값으로 나누면 된다. (즉 가능한 횟수이다.)

+ y의 값은 해당 Y,F,O의 인원에서 임스 1명의 값을 뺀 값이다.

   즉 한 번 시도하는데 필요한 인원을 저장한 값이다.