반응형
코드
n = input().upper()
nn = list(set(n))
n_list = []
for i in nn:
count = n.count(i)
n_list.append(count)
if n_list.count(max(n_list)) > 1:
print('?')
else:
max_index = n_list.index(max(n_list))
print(nn[max_index])
설명
변수. n에 문자를 입력받는다.
중복되는 문자열을 리스트에 담는다.
개수를 센 수를 넣을 빈 리스트를 만든다.
중복된 문자열을 제거한 변수를 반복문에 넣어 문자 하나씩 읽는다.
입력받은 문자 n에서 반복문 i를 통해 문자 하나씩의 개수를 센다.
그 개수를 빈 리스트에 넣는다.
n_list의 개수를 세는데 n_list에서 가장 큰 값을 센다.
이 때 리스트에서 가장 큰 값의 개수를 센다.
ex) [1,2,3,3] 숫자가 이렇게 있으면 가장 큰 값인 count(3)을 넣을거고 3의 개수는 2개 있으니 2가 나올거다.
개수를 세서 1이 넘으면 ?를 출력하고
그게 아니라면 n_list에서 가장 큰 값의 위치를 index를 통해 가져온다.
그 max_index를 nn에서 출력하면 그 문자가 나온다.
'알고리즘' 카테고리의 다른 글
[Python] 백준 2908번 : 상수 (0) | 2023.02.12 |
---|---|
[Python] 백준 1152번 : 단어의 개수 (0) | 2023.02.12 |
[Python] 백준 2675번: 문자열 반복 (0) | 2023.02.09 |
[Python] 백준 10809번: 알파벳 찾기 (0) | 2023.02.08 |
[Python] 백준 11720번: 숫자의 합 (0) | 2023.02.08 |
댓글