본문 바로가기

개발/알고리즘

BOJ (1475) - 방 번호 Python

아이디어

  1. 딕셔너리 자료형 사용해서 각 번호와 중복 카운트 수 로 나타냄
  2. 6과 9는 바꿔 쓸 수 있으므로 6에 통합 저장
  3. 총 6의 갯수가 짝수면 나누기 2 한 갯수 홀수면 나누기 2 + 1 갯수
  4. 딕셔너리 값 중에서 제일 큰 값을 가지는 원소를 출력

소스코드

# https://www.acmicpc.net/problem/1475
n = input()
set = {'0':0, '1':0, '2':0, '3':0, '4':0, '5':0, '6':0, '7':0, '8':0, '9':0}
for i in range(len(n)):
    if n[i] in ['6','9']:
        set['6'] += 1
    else:
        set[n[i]] += 1
if set['6'] % 2 == 0:
    set['6'] = set['6'] // 2
else:
    set['6'] = set['6'] // 2 + 1
print(max(set.values()))