Algorithm(알고리즘)/백준

07_백준 _1157 파이썬 단어 공부

고로케 2021. 6. 17.
반응형

1. .upper() 로 대문자로 만들어주고,

2. set() 함수로 중복값을 제거한 리스트로.count(x) 로

원래 문자열에 몇개 있는지 카운트 해주어 second_big 에 저장

3. first_big 보다 큰 단어일 때 그 단어를 word_list='' 에 저장하고 first_big = second_big 으로 저장한다.

elif first_big == second_big: 카운트 숫자가 같은 문자가 나온다면

same_big=1 로 바꿔주어4. for 문이 끝나고서도

same_big ==1 이면 '?' return 해주는 if 문을 만들었다.

aabbccc 같이 가장 큰 숫자의 단어가 나중에 등장하면

앞선 if 문의 word_list='' 저장 코드에same_big 을 = 0 으로 초기화 해주어

for문이 끝나고서 if same_big ==0: 문에 걸리지 않도록 한다.

  • 풀이
x = input()
def word_study(x):
    x = x.upper()
    word_list = list(x)
    set_word_list = set(word_list)

    first_big = 0
    same_big = 0
    the_word = ''

    for i in set_word_list:
        second_big = word_list.count(i)
        if first_big < second_big:
            the_word = i
            first_big = second_big
            same_big = 0
        elif first_big == second_big:
            same_big = 1

    if same_big > 0:
        return '?'
    return the_word

print(word_study(x))

'''
# 테스트
print(word_study('Mississipi'))
print(word_study('zZa'))
print(word_study('z'))
print(word_study('baaa'))

# 출력
?
Z
Z
A
'''
반응형

댓글