꾸준하게 거북이처럼

백준 알고리즘 - 단어공부 1157번 문제 본문

Algorithm 문제 & 공부/문자열

백준 알고리즘 - 단어공부 1157번 문제

somm12 2022. 3. 8. 09:34

문자열 입력을 받고 가장 많이 사용된 알파벳을 찾는 문제이다. 주어진 단어의 길이는 1,000,000 을 넘지 않고 대소문자 구분 없음

결과로 출력되는 알파벳은 대문자로 출력해야함.

 

처음에 문제를 for 중복문을 써서 문제를 풀었지만 시간초과가 나와서 파이썬 내장 함수 set, counter, index를 이용해서 for문 단일문으로 만들어서 문제를 풀었더니 해결했다.

set은 리스트에서 중복된 요소를 제거해서 딕셔너리로 반환해준다.

string = input()
string = string.lower()
alpha = list(set(string))
alpha_count = []

for value in alpha:
   if value in string:
      result = string.count(value)
      alpha_count.append(result)

N = max(alpha_count)

if alpha_count.count(N) > 1:
    print("?")
else:
    index = alpha_count.index(N)
    print(alpha[index].upper())


Comments