728x90
시간 제한 1초, 메모리 제한 512MB
# 조건
- 임스가 미니게임을 같이할 사람을 찾고 있습니다.
- 플레이할 미니게임으로는 윷놀이 Y, 같은 그림 찾기 F, 원카드 O가 있습니다.
- 각각 2, 3, 4 명이서 플레이하는 게임이며 인원수가 부족하면 게임을 시작할 수 없습니다.
- 사람들이 임스와 같이 플레이하기를 신청한 횟수 N과 임스가 플레이할 게임의 종류가 주어질 때, 최대 몇 번이나 임스와 함께 게임을 플레이할 수 있는지 구하시오.
- 임스와 여러 번 미니게임을 플레이하고자 하는 사람이 있으나, 임스는 한 번 같이 플레이한 사람과는 다시 플레이하지 않습니다.
- 임스와 함께 플레이하고자 하는 사람 중 동명이인은 존재하지 않습니다.
- 임스와 lms0806은 서로 다른 인물입니다.
입력
- 첫 번째 줄에는 사람들이 임스와 같이 플레이하기를 신청한 횟수 N과 같이 플레이할 게임의 종류가 주어진다. (1 <= N <= 100,000)
- 두 번째 줄부터 N개의 줄에는 같이 플레이하고자 하는 사람들의 이름이 문자열로 주어진다. (1<= 문자열 길이 <= 20)
- 사람들의 이름은 숫자 또는 영문 대소문자로 구성되어 있다.
출력
- 임스가 최대로 몇 번이나 게임을 플레이할 수 있는지 구하시오.
# 접근 방법
- 딕셔너리를 사용하여 같이 플레이한 사람을 기록해준다.
- 입력받는 게임의 종류에 따라 필요 인원수를 정해준다.
- 이 때, 임스도 참여자이므로 원래 필요 인원수 -1 씩으로 저장해준다.
- 이후 플레이할 게임의 인원수와 참여한 인원수를 나눈 몫을 출력해주면 된다.
import sys
sys.stdin = open('input.txt')
input = sys.stdin.readline
N, M = map(str, input().rstrip().split())
if M == 'Y':
need = 1
elif M == 'F':
need = 2
else:
need = 3
name = dict()
cnt = 0
for i in range(int(N)):
val = input().rstrip()
if not name.get(val):
name[val] = 1
cnt += 1
print(cnt//need)
728x90
'ALGORITHM > 자료구조' 카테고리의 다른 글
[백준 2243번] 파이썬 - 사탕상자 (0) | 2023.07.09 |
---|---|
[백준 2493번] 파이썬 - 탑 (0) | 2023.07.05 |
[백준 22233번] 파이썬 - 가희와 키워드 (0) | 2023.06.28 |
[백준 14725번] 파이썬 - 개미굴 (0) | 2023.06.25 |
[백준 11505번] 파이썬 - 구간 곱 구하기 (0) | 2023.05.30 |