STUDY/Algorithm

[백준] 1475 방 번호

sinawi95 2021. 1. 30. 08:30
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