
❓ 문제
백준 실버 5 문제 > 임스와 함께하는 미니게임
❗ 해결
딕셔너리를 하나 생성해서, 이미 플레이 했던 사람은 해당 리스트에 넣어놓고,
플레이하기를 신청한 횟수 (N) 을 반복하면서 만약 새로 신청한 사람이 이미 플레이 했던 사람인지 비교하면서 문제를 풀었다.
또한, 미니게임의 종류, 총 정원을 key:value 형식으로 딕셔너리에 저장했다.
n, kind = map(str, input().split())
kinds = {"Y": 2, "F": 3, "O": 4}
plays = {}
game_count = 0
player_limit = 0
for _ in range(int(n)):
player = str(input())
같이 플레이하기를 신청한 횟수, 게임 종류를 입력받고 게임 종류와 총 정원을 kinds라는 딕셔너리에 저장했다.
그리고 plays라는 딕셔너리를 생성했다.
그리고 최대로 몇번이나 게임을 할 수 있는지를 담아줄 game_count 변수와 플레이어 정원을 담아줄 player_limit 변수를 선언했다.
if player not in plays:
plays[player] = 1
player_limit += 1
그리고 한줄씩 입력을 받으면서 만약에 플레이하지 않은 유저인 경우에 plays 딕셔너리에 담아주고 정원수를 1개씩 늘린다.
if player_limit == kinds[kind]-1:
player_limit = 0
game_count += 1
마지막으로, 플레이어 정원수가 가득 차게 되면 정원수를 0으로 초기화시켜주고 게임 카운트를 1 증가시킨다.
처음에 잘못 생각한게, 임스랑 같이 게임을 하므로 정원수에서 1을 빼줘야 하는걸 깜빡했었다.
제발 문제를 좀 잘 읽자,,,..
전체코드
n, kind = map(str, input().split())
kinds = {"Y": 2, "F": 3, "O": 4}
plays = {}
game_count = 0
player_limit = 0
for _ in range(int(n)):
player = str(input())
if player not in plays:
plays[player] = 1
player_limit += 1
if player_limit == kinds[kind]-1:
player_limit = 0
game_count += 1
print(game_count)
