백준_단어공부_1157_파이썬

Today Jeeho Learned·2022년 8월 26일
0

알고리즘

목록 보기
5/38
post-thumbnail

- 문제 출처

https://www.acmicpc.net/problem/1157

- 내 답안

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

cnt = []

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

if cnt.count(max(cnt)) >= 2:
    print("?")
else:
    print(word_list[(cnt.index(max(cnt)))].upper())

- 정리

  • 어떻게 풀어야 할까를 고민했다. 문제를보니 대소문자에 상관없이 같은 문자의 사용횟수를 구하는 것이기때문에 문자를 입력받고, 입력받은 문자를 대문자로 바꿔버렸다.
  • 문자를 대문자로 입력받고, set을 통해서 중복을제거하고 list 형태로 만들어주었다. 이 과정을 은근히 많이쓸 것이기때문에 잘 숙지해주는 것이 좋을 것 같다.

  • 중복을 제거한 문자가 list에 들어있는데, count함수를 사용해서 사용한 문자의 개수를 세어주고 count배열에 넣어준다.

  • 가장 큰값을 추출해서 이것이 2개이상이면 ?로 출력해준다. 아니면 출력해주기!

- 다른 풀이

profile
기록해야 (살아)남는다 !

0개의 댓글