IFP_껐다 켜면 됩니다_백준 - 단어 공부(1157)

유재우·2022년 5월 25일
0

IFP-껐다 켜면 됩니다

목록 보기
85/123

문제

알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.

  • 입력
첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이는 1,000,000을 넘지 않는다.
  • 출력
첫째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력한다. 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는 ?를 출력한다.
  • 예제 입력 1
Mississipi
  • 예제 출력 1
?
  • 예제 입력 2
zZa
  • 예제 출력 2
Z
  • 예제 입력 3
z
  • 예제 출력 3
Z
  • 예제 입력 4
baaa
  • 예제 출력 4
A

  • 첫번째 시도
word = input()
word = list(word.upper())
maxA = 0
answer = ''
for i in word:
    if word.count(i) > maxA and i != answer:
        maxA = word.count(i)
        answer = i
    elif word.count(i) == maxA and i != answer:
        answer = '?'
print(answer)
  • 두번째 시도
word = input().upper()
word = list(set(word))
maxA = 0
answer = ''
for i in word:
    if word.count(i) > maxA:
        maxA = word.count(i)
        answer = i
    elif word.count(i) == maxA and i != answer:
        answer = '?'
print(answer)
  • 정답
word = input().lower()
wordList = list(set(word))
cnt = []
for i in wordList:
    a = word.count(i)
    cnt.append(a)
if cnt.count(max(cnt)) > 1:
    print('?')
else:
    print(wordList[cnt.index(max(cnt))].upper())

word랑 wordList랑 서로 다르게 나눴으면 쉽게 풀었을 문제인데 이 부분을 생각 못했다.

profile
끝없이 탐구하는 iOS 개발자 유재우입니다!

0개의 댓글