다솜이 방번호 문제: 방 번호가 최대 6자리인데 숫자 세트가 몇 개 필요할까? 6, 9는 돌려서 쓸 수 있다.
내 풀이
from collections import Counter
num = input()
count = Counter(num)
count['9'] = (count['9']+count['6']+1)//2
count['6'] = 0
max_count = sorted(count.values(), reverse = True)
print(max_count[0])
문법을 좀 더 알게 되니까 Count, sorted(count.values()) --딕셔너리에서 value 값만을 기준으로 정렬하기 등을 써서 간결한 코드가 되었다.
주의할 점
num = input()
for i in num:
if i == '6':
i = '9'
---> 이렇게 해도 num 안의 원소 값이 바뀌는 게 아님.
잘 보면 당연하지만, 임시변수인 i만을 9로 바꾼 것이다.
7개월 전에 푼 걸 봤는데 이거는 정말 처음부터 손으로 다 구현했고 시간이 덜 걸리는 방법이긴 하다.
arr=[]
arr.append(list(map(int,input())))
s=arr[0].count(6)
n=arr[0].count(9)
sn = arr[0].count(6)+arr[0].count(9)
if sn<=1:
pass
elif sn%2==0:
sn=sn//2
elif sn%2==1:
sn=sn//2+1
for _ in range(s):
arr[0].remove(6)
for _ in range(n):
arr[0].remove(9)
arr2=[]
count=0
for i in arr[0]:
arr2.append(i)
dupl=0
dupl+=arr2.count(i)
if dupl>count:
count=dupl
if sn>count:
print(sn)
else:
print(count)