코딩테스트

하루 코테 1개 풀기 - 향해 6일차

songsua 2025. 4. 20. 13:48

n, w = input().split()
n = int(n)

nicknamelist = set()
for _ in range(n):
    nickname = input()
    nicknamelist.add(nickname)


if w == 'Y':
    required = 2
elif w == 'F':
    required = 3
elif w == 'O':
    required = 4

max_games = len(nicknamelist) // (required - 1)
print(max_games)




set() :
집합을 처리하기 위한 것,
중복을 허용하지 않는다

순서가 존재하지않는다.

- 값을 추가 : add() 

- 값 제거 : remove(), discard()
 remove(): 없는 값을 지울려하면 오류가 발생
 discard() : 없는 값을 지울려고해도 무시

 

set() 을 활용한 교집합, 합집합, 차집합

a = {"apple", "banana"}
b = {"banana", "orange"}

print(a | b)  # 합집합 → {'apple', 'banana', 'orange'}
print(a & b)  # 교집합 → {'banana'}
print(a - b)  # 차집합 → {'apple'}

 

list와의 차이점

1. list는 순서가 있다

2. list는 중복을 허용한다

3. list가 set보다 느리다

4. list는 순서가 있기 때문에 인덱스가 존재한다.

 

 

// : 몫만 나오는 나눗샘  예) 7//3 = 2
% : 나머지 연산자, 나머지만 구한다 예) 7 % 3 = 1