문제:

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

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

입력:

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

출력:

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

풀이 방법:

크게 두 가지 케이스만 생각해주면 된다. 6과 9를 제외하고 다른 숫자들중 자주 나타나는 숫자의 개수와 6과 9의 개수를 센 것을 반으로 나눈 것의 올림(6과 9는 서로 돌려서 사용할 수 있다.)을 구해 이 두 값 중 최댓값을 반환해주면 된다.

1
2
3
4
5
6
7
8
9
10
def plastic(n):
    a=[]
    import math
    for i in '01234578':
        a.append(n.count(i))
    min1= max(a)
    min2= math.ceil((n.count('6')+n.count('9'))/2)
    return max(min1,min2)
n=input()
print(plastic(n))
cs


'Algorithm > Python' 카테고리의 다른 글

[BOJ]1181. 단어정렬  (0) 2019.04.12
[BOJ]6064. 카잉 달력  (0) 2019.04.11
[BOJ]2775. 부녀회장이 될테야  (0) 2019.04.09
[BOJ]10250. ACM 호텔  (0) 2019.04.08
[BOJ]2292. 벌집  (0) 2019.04.07

+ Recent posts