본문 바로가기
👩🏻‍💻 Front-end/👾 Algorithm

백준 1475 - 방 번호 (Python)

by su-no 2022. 5. 30.

코드

import math
from sys import stdin

N = list(map(int, stdin.readline().rstrip())) # 1
count = [0 for _ in range(10)] # 2

for i in N: # 3
    count[i] += 1


if max(count) == count[6] or max(count) == count[9]: # 4
	six_nine = math.ceil((count[6]+count[9])/2)
    count[6] = six_nine
    count[9] = six_nine

print(max(count)) # 5

 

풀이

0부터 9까지의 수가 한 세트이므로, 각 숫자들의 개수를 카운팅 했을 때 가장 큰 값이 정답이 된다.

#1: 방번호의 각 숫자들로 list 생성

#2: 0~9 개수를 카운팅하기 위한 list

#3: 0~9 개수를 카운팅하여 배열에 저장

#4: 만약 6,9 둘 중 하나가 최대값일 경우, 두 숫자는 번갈아 쓸 수 있으므로 각 개수를 더하여 2로 나누고 올림한 값으로 변경해준다.

#5: 최종적으로 카운팅 리스트에서 최댓값을 찾아 출력한다.