문재해석
입력값 문자가 주어졌을때 문자중에 최대로 많은 문자 찾기
단 최대 문자가 2개 이상일때는 "?" 을 출력
문제 해석이 직관적으로 할 수 있을 만큼 어렵지 않았다. 하지만 set()함수와 기초적인 부분에서 익숙하지 않은 함수를 사용해 보았다.
2보다 작은 경우를 출력하기 위해 약간 애를 먹었다.
1
2
3
4
5
6
7
8
9
10
11
12
13
|
s = input().upper()
s_list = list(set(s)) #중복제거
temp = []
#알파벳 횟수 카운트
for i in s_list:
temp.append(s.count(i))
#알파벳 최대가 2 이상인 경우
if temp.count(max(temp)) >= 2:
print("?")
else: #2보다 작은 경우
print(s_list[temp.index(max(temp))])
|
cs |
다른분의 방법이 신기한게 있어서 참조 해보았다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
s = input().upper()
temp = []
for i in set(s):
temp.append(s.count(i))
print(temp)
#최대값 위치 찾기
maxnum = []
for i, x in enumerate(temp):
if x == max(temp):
maxnum.append(i)
if len(maxnum) > 1:
print('?')
else:
print(list(set(s))[temp.index(max(temp))])
|
cs |
enumerate()함수를 사용하는 방법으로 이런 방법도 있구나 했다.
반응형
'BOJ' 카테고리의 다른 글
Baekjoon #2908번 상수 Python (0) | 2020.10.05 |
---|---|
Baekjoon #1152번 단어의갯수 Python (0) | 2020.10.05 |
Baekjoon #2675번 문자열반복 Python (0) | 2020.10.05 |
Baekjoon #10809번 알파벳찾기 Python (0) | 2020.10.05 |
Baekjoon #1065번 한수 Python (0) | 2020.10.05 |