https://www.acmicpc.net/problem/1475
우선 문자열로 주어진 방 번호를 받아, 각 숫자가 몇 번 등장하는지 세어야 한다.
그리고 필요한 숫자 세트의 개수를 계산하면 된다.
각 숫자의 등장 횟수를 리스트에 저장
6과 9는 합쳐서 계산한 뒤 올림 처리
가장 많이 등장한 숫자의 개수가 필요한 세트 수
n = input()
cnt = [0] * 10
for i in n:
i = int(i)
cnt[i] += 1
cnt[6] = cnt[9] = (cnt[6] + cnt[9] + 1) // 2
print(max(cnt))
이 문제의 포인트는 6과 9를 하나로 묶어 생각하고, 그 합의 올림 값을 구하는 것이다.
정수 연산으로 올림을 표현할 수 있다는 것도 실전에서 유용하게 쓰일 수 있는 팁!
int(math.ceil(x / 2))
(x + 1) // 2
정수 올림하는 방법에는 2가지가 있다.
방법1의 경우 import math
해주어야 하고, 따로 정수로 변환하는 int()
과정이 필요하기 때문에 번거롭다.
방법2가 더 간단한 방법이다.