1475번: 방 번호 (acmicpc.net)

 

다솜이 방번호 문제: 방 번호가 최대 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)

 

+ Recent posts