코딩 테스트(Python)/백준, 프로그래머스
1157 단어 공부
5_hyun
2022. 6. 9. 00:20
반응형
https://www.acmicpc.net/problem/1157
1157번: 단어 공부
알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.
www.acmicpc.net
내 풀이(맞음)
x = input()
x = x.upper()
dic = {}
for i in range(len(x)):
if x[i] not in dic:
dic[x[i]] = 1
else:
dic[x[i]] += 1
dic = sorted(dic.items(), key = lambda x: x[1], reverse=True)
if len(x) > 1:
if dic[0][1] == dic[1][1]:
print("?")
else:
print(dic[0][0])
else:
print(dic[0][0])
딕셔너리를 사용하여 문제를 풀었다. 딕셔너리 정렬에 대해 찾아본적이 있지만 아직도 내꺼로 만들지 못했다. 그래서 구글링을 하여 딕셔너리 정렬법을 찾아서 풀었다. 그리고 출력 조건을 잘 설정해야한다. 처음에 한 자리 문자열인 z를 입력했다 치면 결과가 ?로 나왔다. 그래서 입력되는 문자열의 조건에 따라서 출력을 다르게 설정했다.
반응형