본문 바로가기

백준/python

1475: 방 번호(python)

https://www.acmicpc.net/problem/1475

 

1475번: 방 번호

첫째 줄에 다솜이의 방 번호 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수이다.

www.acmicpc.net

문제

다솜이는 은진이의 옆집에 새로 이사왔다. 다솜이는 자기 방 번호를 예쁜 플라스틱 숫자로 문에 붙이려고 한다.

다솜이의 옆집에서는 플라스틱 숫자를 한 세트로 판다. 한 세트에는 0번부터 9번까지 숫자가 하나씩 들어있다. 다솜이의 방 번호가 주어졌을 때, 필요한 세트의 개수의 최솟값을 출력하시오. (6은 9를 뒤집어서 이용할 수 있고, 9는 6을 뒤집어서 이용할 수 있다.)

풀이

간단하다, 123456789면 1개가 필요하고 11이면 2개가 필요한 문제에서 뒤집으면 형태가 같은 6,9가 동시에 있을 경우 카운트를 하나 빼주거나 2로 나누어주면 되는 문제.

 

코드

 

room_num = input() #방 번호 입력
cnt = [0] * 9 #번호는 0~9까지 입력 가능하므로 번호를 저장할 9개의 공간을 만듦
for x in room_num: #방번호 길이만큼 실행
    ind = int(x) #6=9를 실행할 변수 저장
    if ind == 9:
        ind = 6
    cnt[ind] += 1 #6=9는 같므로 있을경우 카운트
cnt[6] = (cnt[6]+1) // 2 #6또는 9일경우 2로 나누어 필요한 개수를 올바르게 저장
print(max(cnt)) #그중에서 최댓값을 출력

'백준 > python' 카테고리의 다른 글

1212: 8진수 2진수(python)  (0) 2023.09.13
1076: 저항(python)  (0) 2023.09.13
1427: 소트인사이드(python)  (0) 2023.09.13
1789: 수들의 합(python)  (0) 2023.09.13
1181: 단어 정렬(python)  (0) 2023.09.13