[문제]
https://www.acmicpc.net/problem/1159
[풀이]
1. count 함수
count 함수는 문자열, 튜플, 리스트, 집합 자료형 내부에서 찾고 싶은 문자의 개수를 찾을 수 있다.
'변수.count(찾는 요소)' 로 사용하며, 괄호 안에 찾고자 하는 값을 입력하면 변수 안에서 해당 값의 개수를 숫자로 반환한다.
예를 들어 'baekjoon'.count('o') 를 할 경우 출력 값은 2가 나온다.
2. join 함수
- ''.join(리스트)
매개변수로 들어온 리스트가 ['a', 'b', 'c'] 일 때 문자열을 'abc'로 합쳐서 반환해준다.
- '구분자'.join(리스트)
리스트의 값과 값 사이에 '구분자'를 넣어 하나의 문자열로 합쳐서 반환해준다.
'+'.join(['a', 'b', 'c']) 일 경우 "a+b+c" 의 문자열 형태로 반환해준다.
선수들 이름의 입력의 첫 번째 문자만 추출해 player_list 에 추가해주고, 중복 값 없애기 위해 player_list를 set 자료형으로 만든 first_name 집합을 만들었다.
집합 first_name에 있는 요소를 한 개씩 가져와 player_list 에 해당 요소가 몇 개 있는지 count 한 후 그 값이 5보다 크다면 미리 선언해 둔 result 리스트에 담는다.
최종적으로 len(result)가 0이면 "PREDAJA"를 출력하고 0보다 클 경우 리스트에 있는 요소를 합쳐 하나의 문자열로 바꾸어 반환해준다.
[코드]
if __name__ == '__main__':
n = int(input())
player_list = []
for _ in range(n):
f = input()
player_list.append(f[0])
first_names = set(player_list)
result = []
for i in first_names:
if player_list.count(i) >= 5:
result.append(i)
if len(result) > 0:
print(''.join(sorted(result)))
else:
print("PREDAJA")
'문제풀이 > BOJ' 카테고리의 다른 글
[Python] BOJ/백준 2864번 5와 6의 차이 (0) | 2021.06.10 |
---|---|
[Python] BOJ/백준 2863번 이게 분수? (0) | 2021.06.10 |
[Python] BOJ/백준 1350번 진짜 공간 (0) | 2021.06.09 |
[Python] BOJ/백준 1009번 분산처리 (0) | 2021.06.09 |
[Python] BOJ/백준 1267번 핸드폰 요금 (0) | 2021.06.08 |