CS/Algorithm & Data Structure
[BOJ][Python] 백준 1475 방 번호
Yeji Heo
2023. 3. 9. 11:41
단순히 카드세트 배열하나 선언,
그 안에 값이 있으면remove하고 다음 번호 체크
없으면 한 세트를 pack에 추가해주고 해당 번호 하나를 뺐다.
특이한 점이라면 값이 6일때는 9가 있나체크(&반대의 경우 체크)를 했단 것이다.
N = list(input())
for i in range(len(N)): N[i]=int(N[i])
pack = []
def addPack():
pack.extend([0,1,2,3,4,5,6,7,8,9])
cnt = 0
for i in N:
if i in pack:
pack.remove(i)
elif i==6 and 9 in pack:
pack.remove(9)
elif i==9 and 6 in pack:
pack.remove(6)
else:
cnt+=1
addPack()
pack.remove(i)
print(cnt)
다른 풀이는 보통 해당 숫자를 인덱스로하여 등장 시 추가하는 방식인 거 같다. (혹은 key:value)
각 숫자가 몇 번 등장했는지에(6, 9의 경우는 합쳐서 /2) 집중하는 것이 좋은 풀이인 거 같다.