25757 임스와 함께하는 미니게임 - Python
2023. 10. 8. 02:33ㆍ공부/📝 백준
1. 풀이 코드
times, Game = input().split()
player = set()
for _ in range(int(times)):
player.add(input())
if Game == "Y":
X = 1
elif Game == "F":
X = 2
else:
X = 3
print(len(player) // X)
set() 집합으로 만들어서 중복을 없앤 뒤에 작업을 진행했습니다. 다만 한 가지 배운 점이라면 list는 append()를, set은 add()를 써야 하더라구요.
2. 다른 사람의 풀이 코드
s,*a=open(0);print(len({*a})//'`YFO'.find(s[-2]))
이렇게 푼 코드를 발견했는데 정말 신기하더라구요. 완전 생소한 풀이였기에 코드를 여러번 읽었습니다.
s, *a = open(0)
open(0)에서 표준 입력을 엽니다. 그 후 s에는 첫 번째 문자를, a에는 나머지 문자열을 리스트로 할당합니다. 특히, *a라고 표시하였는데, *는 나머지 모든 값을 리스트로 가져오는 기능을 한다고 합니다.
print(len({*a}) // '`YFO'.find(s[-2]))
이후 *a를 중괄호 {}를 사용하여 중복된 값을 허용하지 않는 집합을 만들어서 len() 메소드로 길이를 계산합니다. 그리고 문자열 `YFO에서 s[-2]의 문자 위치를 찾아서 집합의 길이를 나눕니다.
정말 신기하고 배울 점이 많은 코드입니다.
25757번: 임스와 함께하는 미니게임
첫 번째 줄에는 사람들이 임스와 같이 플레이하기를 신청한 횟수 $N$과 같이 플레이할 게임의 종류가 주어진다. $(1 \le N \le 100\,000)$ 두 번째 줄부터 $N$개의 줄에는 같이 플레이하고자 하는 사람들
www.acmicpc.net
로그인
www.acmicpc.net
'공부 > 📝 백준' 카테고리의 다른 글
11365 !밀비 급일 - C (0) | 2024.07.29 |
---|---|
11656 접미사 배열 - Python (0) | 2023.12.10 |
10610 30 - Python (0) | 2023.12.10 |
1072 게임 - Python (0) | 2023.09.19 |
10816 숫자 카드 2 - Python (0) | 2023.09.17 |