https://www.acmicpc.net/problem/1475
문제
다솜이는 은진이의 옆집에 새로 이사왔다. 다솜이는 자기 방 번호를 예쁜 플라스틱 숫자로 문에 붙이려고 한다.
다솜이의 옆집에서는 플라스틱 숫자를 한 세트로 판다. 한 세트에는 0번부터 9번까지 숫자가 하나씩 들어있다. 다솜이의 방 번호가 주어졌을 때, 필요한 세트의 개수의 최솟값을 출력하시오. (6은 9를 뒤집어서 이용할 수 있고, 9는 6을 뒤집어서 이용할 수 있다.)
입력
첫째 줄에 다솜이의 방 번호 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수이다.
출력
첫째 줄에 필요한 세트의 개수를 출력한다.
풀이
딕셔너리를 통해서 풀이 하였다.
6과 9는 서로 공유할 수 있기 때문에 입력된 수 안에 있는 경우 둘 다 더해준 후 나중에 2로 나눠 나눠진 값을 ceil로 올림 해줬다
코드
# 1475 방 번호
import math
num = list(input())
sets = {}
for n in num:
if n in sets:
if n == '9' or n == '6':
sets['6'] += 1
sets['9'] += 1
else:
sets[n] += 1
else:
if n == '9' or n == '6':
sets['9'] = 1
sets['6'] = 1
else:
sets[n] = 1
if '6' in sets:
sets['6'] = math.ceil(sets['6']/2)
if '9' in sets:
sets['9'] = math.ceil(sets['9']/2)
print(max(sets.values()))
# print(sets)
반응형
'study > 백준' 카테고리의 다른 글
[백준] 2161. 카드1 : python (1) | 2022.12.08 |
---|---|
[백준] 1064. 평행사변형 : python (0) | 2022.12.06 |
[백준] 4963. 섬의 개수 : python (1) | 2022.10.14 |
[백준] 2667. 단지번호붙이기 : python (0) | 2022.10.12 |
[백준] 1051. 숫자 정사각형 : python (0) | 2022.10.06 |