반응형
[ Contents ]
1. 문제 (링크 참조)
2. 문제 풀이
이름의 첫 글자가 같은 5명의 선수가 있는지를 확인하는 문제입니다.
2022.02.25 - [Algorithm] - [구현] 백준 1371 가장 많은 글자 - Python
위 문제와 비슷합니다. 알파벳의 갯수를 셀 리스트를 생성하고, 개수를 기록합니다. 이후 5개 이상이면 출력하고, 5개 이상이 아예 없으면 PREDAJA를 출력합니다.
3. 코드
import sys
input = sys.stdin.readline
#입력
N = int(input())
alphabet = [0]*26
for _ in range(N):
name = input()
alphabet[ord(name[0])-97] += 1
#5명 이상이면 출력
res = ''
for i, char in enumerate(alphabet):
if char >= 5:
res += chr(i+97)
#아무도 없으면 항복
if res == '':
print("PREDAJA")
else:
print(res)
ord() 함수를 사용하면, 문자를 아스키코드로 변환할 수 있습니다. 아스키코드에서 소문자 알파벳(a~z)은 97부터 123까지입니다.
반대로 아스키코드에서 알파벳을 출력하려면 chr() 함수를 사용하면 됩니다.
반응형
'Algorithm' 카테고리의 다른 글
[구현/문자열] 백준 11365 !밀비 급일 - 파이썬(python) (0) | 2022.03.01 |
---|---|
[구현/수학] 백준 2935 소음 - 파이썬(Python) (0) | 2022.03.01 |
[구현/수학] 백준 1357 뒤집힌 덧셈 - Python (0) | 2022.02.28 |
[구현/문자열] 백준 1032 명령 프롬프트 - Python (0) | 2022.02.28 |
[구현/수학] 백준 9093 단어 뒤집기 - Python (0) | 2022.02.28 |
댓글