백준 1157 - 단어 공부

su-mmer·2022년 7월 12일
0

문제풀이

목록 보기
20/43

문제 풀이

set()
순서가 없고 unique한 값을 가지는 집합
{}을 사용해 표현하지만 딕셔너리는 아님

input().upper() 입력받은 문자열을 대문자로 변경
set(a) 문자열에서 중복되지 않게 문자열에 있는 알파벳을 뽑아 집합으로 만든다
list(set(a)) set은 순서가 없기 때문에 계속 바뀌니까 list를 이용해 index를 부여한다.

갯수를 저장할 리스트 cnt를 만든다
str.count(i)문자열에서 각 문자의 갯수를 카운팅한다.

cnt.count(max(cnt)) 가장 큰 값 max(cnt)의 갯수를 count()

word[cnt.index(max(cnt))] 가장 큰 값의 index를 word에서 찾아서 문자를 반환

코드

a = input().upper()
words = list(set(a))
# M i s p
    
cnt=list()
for i in word:
    cnt.append(str.count(i))  # M 갯수, i 갯수, s 갯수, p 갯수

if cnt.count(max(cnt)) > 1:  # 최대 갯수 값이 2개 이상
    print("?")
else:
    print(word[cnt.index(max(cnt))])  # 최대값의 위치

0개의 댓글