Algorithm
[파이썬] 백준 1475번: 방번호
bbomi
2021. 7. 7. 23:41
https://www.acmicpc.net/problem/1475
1475번: 방 번호
첫째 줄에 다솜이의 방 번호 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수 또는 0이다.
www.acmicpc.net
문제 풀이
전체 필요한 세트의 합을 구하는게 아닌, 필요한 세트 개수의 최소값을 구하는 문제입니다.
1. 0으로 채워진 길이 9의 list를 만들고, n 길이 만큼의 for loop를 돌립니다 (n이 9999일 경우엔 각각의 9).
2. 만약 9가 나오면 6으로 바꿔주고, 위에서 만들어진 list에서 6이 있는 자리 (cnt[6])에 1을 더해줍니다.
3. for loop가 끝난 뒤, 더해준 1들의 값에 1을 더하고 (n이 홀수인 경우 한세트를 더 사야하기 때문에), 2를 나눠줍니다.
4. 이후 해당 수를 max를 통해 반환해줍니다.
n = input()
cnt = [0] * 9
for x in n:
ind = int(x)
if ind == 9:
ind = 6
cnt[ind] += 1
cnt[6] = (cnt[6]+1) // 2
print(max(cnt))