99클럽 코테 스터디 16일차 TIL + 백준 25757번 임스와 함께하는 미니게임(Python)

모래·2025년 4월 15일

99클럽 스터디

목록 보기
12/20
post-thumbnail

✔️오늘의 학습 키워드

  • 자료 구조

  • 문자열

  • 해시를 사용한 집합과 맵

  • 백준 25757번 임스와 함께하는 미니게임


✔️ 공부한 내용

📌 오늘의 문제


📌 작성 코드

import sys
input = sys.stdin.readline
num, game = input().split() # 신청 횟수, 같이 플레이할 게임 종류
players=set() #플레이어 저장할 set
for _ in range(int(num)):
    players.add(input())
if game == 'Y': # 윷놀이일 경우
    print(len(players))
elif game == 'F': # 같은 그림 찾기일 경우
    print(len(players)//2)
else: # 원카드일 경우
    print(len(players)//3)

✔️ 오늘의 회고

📌 문제 및 시도 방법

한 번 같이 플레이한 사람과는 다시 플레이하지 않으므로 중복을 제거하기 위해 플레이어를 set에 저장해야겠다고 생각했다.
또한, 윷놀이/같은그림찾기/원카드일 경우 최대 게임 플레이 수는 각각 (플레이어수)//(해당 게임 인원수-1) 이다.

📌 문제 해결 방법

  1. 신청 횟수(num), 같이 플레이할 게임 종류(game)를 입력받고, 플레이어(players)는 중복 제거를 위해 set()으로 선언
  2. 신청 횟수 만큼 players에 입력받은 값을 추가
  3. 윷놀이일 경우(Y) len(players) 를 출력
    같은 그림 찾기일 경우(F) len(players)//2를 출력
    원카드일 경우(O) len(players)//3을 출력

📌 새롭게 안 내용

조건문으로 풀었지만, 저 게임타입을 gameType = {"Y":1, "F":2, "O":3} 로 추가하면
print(len(player)//gameType.get(game)) 이렇게 한 줄로 줄일 수 있다.

import sys
input = sys.stdin.readline
num, game = input().split()
player=set()
gameType = {"Y":1, "F":2, "O":3}
for _ in range(int(num)):
    player.add(input())
print(len(player)//gameType.get(game))

📌 내일 학습할 내용

내일의 알고리즘 문제를 풀어보고 이해하기


#99클럽 #코딩테스트준비 #개발자취업 #항해99 #TIL

profile
꾸준히 성장하는 웹 백엔드 개발자가 되자🔥

0개의 댓글