본문 바로가기

CodingTest/Baekjun Online Judge

[ BOJ / 파이썬 ] 1475 방 번호

/  제출 1  /

import sys
import math
n = input()
nums = [0 for i in range(10)]
for i in range(10):
  nums[i] = n.count(str(i))

yookgoo = math.ceil((nums[6] + nums[9]) / 2)
nums[6] , nums[9] = yookgoo, yookgoo
print(max(nums))

맞기는 했는데 코드가 안 예쁜 느낌..

저 6과 9를 채우는 문법이 마음에 들지 않는다. 

 

 

/  다른 분들 코드  /

ans = [0] * 10
for i in range(len(word)):
    num = int(word[i])
    if num == 6 or num == 9:
        if ans[6] <= ans[9]:
            ans[6] += 1
        else:
            ans[9] += 1
    else:
        ans[num] += 1
 
print(max(ans))
n = input()
a = {'0':0, '1':0, '2':0, '3':0, '4':0, '5':0, '6':0, '7':0, '8':0}
for i in range(len(n)):
    if n[i] in ['6', '9']:
        a['6'] += 1
    else:
        a[n[i]] += 1
if a['6'] % 2 == 0:
    a['6'] = a['6'] // 2
else:
    a['6'] = a['6'] // 2 + 1
print(max(a.values()))