문제

 

내가 작성한 코드(틀림)
from collections import Counter

s = input().upper()
s_l = [i for i in s]
dict_s = dict(Counter(s_l))

sorted_s =sorted(dict_s, key = lambda x : dict_s[x])
max_v = sorted_s.pop()
sec_v = sorted_s.pop()
if dict_s[max_v] == dict_s[sec_v]:
    print('?')
else:
    print(max_v)

> 분명히 틀리지 않은거 같은데.... 결과는 맞는데 계속 '런타임 에러'가 발생한다 ㅜㅜ

 

참고한 코드
words = input().upper()
unique_words = list(set(words))  # 입력받은 문자열에서 중복값을 제거

cnt_list = []
for x in unique_words :
    cnt = words.count(x)
    cnt_list.append(cnt)  # count 숫자를 리스트에 append

if cnt_list.count(max(cnt_list)) > 1 :  # count 숫자 최대값이 중복되면
    print('?')
else :
    max_index = cnt_list.index(max(cnt_list))  # count 숫자 최대값 인덱스(위치)
    print(unique_words[max_index])

> 참고한 블로그

https://ooyoung.tistory.com/70

 

백준 1157번 [파이썬 알고리즘] 단어 공부

[Python] 백준 알고리즘 온라인 저지 1157번 : 단어 공부 Python3 코드 words = input().upper() unique_words = list(set(words)) # 입력받은 문자열에서 중복값을 제거 cnt_list = [] for x in unique_words..

ooyoung.tistory.com

> count() 함수

 * 문자열 안에서 찾고 싶은 문자의 개수를 찾을 수 있다. 어떤 함수는 문자열에서만 사용 가능한 함수도 있는데 count 함수는 튜플, 리스트, 집합과 같은 반복 가능한 iterable 자료형에서도 사용 가능하다. 

 * 사용 방법은 '변수.count(찾는 요소)' 행태로 사용한다.

+ Recent posts