[Algorithm] 백준 1157번 단어 공부(파이썬)

고플래닛·2021년 6월 30일
0

Algorithm

목록 보기
8/40
post-thumbnail

백준 #1157

문제 바로가기


문제

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

입출력 규칙

1. 입력

  • 첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이는 1,000,000을 넘지 않는다.

    2. 출력
  • 첫째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력한다. 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는 ?를 출력한다.

문제접근

  • upper 메소드를 사용하여 전체 문자를 대문자로 변환하여 변수에 저장한다.
  • 비교를 하기 위해 set함수를 사용하여 중복된 문자값을 제거한 후 변수에 저장한다.
  • for문을 이용하여 알파벳이 사용된 횟수를 리스트에 저장한다.
  • if 문을 사용하여 출력문을 작성하고, 알파벳이 사용된 갯주 중 1보다 크면 물음표를 출력하게 한다.
  • 최대값이 하나라면 숫자 리스트 중에서 가장 큰 수의 위치를 index로 찾아 인덱스에 위치한 문자열을 출력한다.

문제풀이(Python)

word = input().upper()
word_list = list(set(word))

cnt = []
for i in word_list:
  count = word.count
  cnt.append(count(i))

if cnt.count(max(cnt)) > 1:
  print("?")

else:
  print(word_list[(cnt.index(max(cnt)))])

풀이를 통해 배운 것

  • upper메소드의 사용법 대하여 알 수 있었다.
  • count메소드의 사용법에 대해 알 수 있었다.
  • index, max 함수에 대해 알 수 있었다.
profile
blog 이사했습니다. 주소 : https://goplanit.site/

0개의 댓글