알고리즘 연습/구현, 문자열

[🥈5 / 백준 1475 / 파이썬] 방 번호

김세진 2021. 7. 30. 11:27
반응형

 

 

1475번: 방 번호

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

www.acmicpc.net

문제

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

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

입력

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

출력

첫째 줄에 필요한 세트의 개수를 출력한다.

 

예제 입력 

9999

예제 출력 

2

 

풀이

 

6과 9는 서로 뒤집어서 사용할 수 있다는 것이 포인트인 문제이다.

 

0~9 까지 등장한 횟수를 담는 배열을 만들고 6과 9를 서로 더한 뒤, 2로 나눠준 값을 올림하여 인덱스 6에 넣는다.

그리고 0~8 까지 등장 횟수 중, 가장 높은 것을 골라 출력하면 된다.

 

import math
r = [0 for i in range(10)]

for i in list(map(int,input())):
    r[i] += 1
r[6] = math.ceil((r[6]+r[9])/2)
print(max(r[:9]))
반응형