반응형
[ Contents ]
1. 문제 (링크 참조)
2. 문제 풀이
방 번호를 붙이는 데에 필요한 숫자 세트 수를 구하는 문제입니다.
2022.01.19 - [Algorithm] - [Algorithm] 단골 1번 문제, 구현 / 수학
6과 9는 뒤집어서 공용으로 사용할 수 있습니다. 이 점을 고려해서 구현합니다.
3. 코드
N = input()
number = [0]*10 #0부터 9까지
sixNine = 0 #6과 9는 따로 저장
for s in N:
if s == '6' or s == '9':
sixNine += 1
else:
number[int(s)] += 1
# 6과 9의 합계가 짝수면 2로 나누고
if sixNine % 2 == 0:
sixNine //= 2
# 홀수면 2로 나눈 다음 1세트 추가
else:
sixNine = sixNine//2 + 1
# 6과 9가 필요한 세트 수와, 그 외 숫자들이 필요한 세트 수를 비교
print(max(max(number), sixNine))
겸용이 가능한 6과 9가 필요한 세트 수는 따로 계산했습니다. 6과 9가 필요한 갯수가 짝수면, 절반 만큼의 세트만 있어도 충분합니다. 홀수면 추가로 1세트가 더 필요합니다.
그 외 숫자들이 필요한 세트 수를 계산하고 (가장 많이 사용된 숫자의 수), 6과 9가 필요한 세트 수와 비교하여 답을 출력합니다.
반응형
'Algorithm' 카테고리의 다른 글
[동적계획법/DP] 백준 2579 계단 오르기 - Python (0) | 2022.02.22 |
---|---|
[동적계획법/DP] 백준 17626 Four Squares - Python (0) | 2022.02.22 |
[구현/수학] 백준 3009 네 번째 점 - Python (0) | 2022.02.21 |
[그리디/Greedy] 백준 1931 회의실 배정 - Python (0) | 2022.02.21 |
[동적계획법/DP] 백준 1463 1로 만들기 - Python (0) | 2022.02.21 |
댓글