728x90
N = input()
number = dict()
for char in N:
if not char in number:
number[char] = 0
number[char] += 1
if ('6' in number) and ('9' in number):
number['6'] += number['9']
number['6'] = (number['6'] + 1)//2
elif '6' in number:
number['6'] = (number['6'] + 1)//2
elif '9' in number:
number['9'] = (number['9'] + 1)//2
need=sorted(number.values(),reverse=True)
print(need[0])
딕셔너리에 각 숫자들이 몇번 나오는지 저장하고, 6과 9의 값을 더한뒤 2로 나누었다.
그리고 딕셔너리에서 가장 큰 값을 출력해서 끝냈다.
여기서 가장 큰 문제는 6과 9의 숫자를 합칠때 생겼는데, 6만 있는 경우, 9만 있는 경우, 둘 다 있는 경우 각각 나누어서 구현했다.
조금더 간결하게 고칠수있을거같은데 지금은 생각이 나지 않는다...
'STUDY > Algorithm' 카테고리의 다른 글
[백준] 1157 단어 공부 (0) | 2021.02.01 |
---|---|
[백준] 8958 OX 퀴즈 (0) | 2021.01.30 |
[백준] 1075 나누기 (0) | 2021.01.30 |
[백준] 2798 블랙잭 (0) | 2021.01.30 |
[백준] 1339 단어 수학 (0) | 2021.01.30 |