백준 - 1157 (Python) - 단어 공부

3008 단어 algorithmalgorithm

단어 공부

백준 1157

그~나~마~

이해는 된 문제,,

온전히 혼자 힘으론 못풀긴 하지만,,

word = input()
word = word.upper()
alphabet = {}
for i in word:
    if i in alphabet:
        alphabet[i] += 1
    else:
        alphabet[i] = 1
result = 0
max = 0
for i in alphabet:
    if alphabet[i] > max:
        max = alphabet[i]
        result = i
    elif alphabet[i] == max:
        result = "?"

print(result)

이 문제는 우선 대문자로 인풋값을 전부 변환시켜야겠단 생각이 우선 들었다.
그리고 빈 딕셔너리를 하나 만들어서(alphabet) 들어온 각 알파벳들의 갯수를 저장시켜놓을 for문을 구현한다.

빈 딕셔너리에 이미 들어온 알파벳이 있다면 값을 하나 추가해주고, 없다면 1로 지정해 카운트 해주는 방식.

그 뒤론 결과를 담을 변수와 최댓값을 담을 변수를 만든 후 현재 알파벳과 비교해 주면 된다.

max(최댓값을 담은 변수)를 잘 활용하는 법이 포인트였던듯..

좋은 웹페이지 즐겨찾기