자료구조, 알고리즘/구현

[백준] 1475 방 번호(구현) - Python

개른 2023. 4. 21. 17:32

https://www.acmicpc.net/problem/1475

 

1475번: 방 번호

첫째 줄에 다솜이의 방 번호 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수이다.

www.acmicpc.net

 

lst = [0] * 10
ans = 0
st = input()
for s in st:
    if s == "6" and lst[6] == 0 and lst[9] > 0: # 6일 때 9숫자 있으면 쓸 수 있다.
        lst[9] -= 1

    elif s =="9" and lst[9] == 0 and lst[6] > 0: # 9일 때 6숫자 있으면 쓸 수 있다.
        lst[6] -= 1


    elif lst[int(s)] == 0: # 숫자 없으면 하나씩 채워넣기
        ans += 1
        for i in range(len(lst)):
            lst[i] += 1
        lst[int(s)] -= 1

    elif lst[int(s)] > 0: # 숫자 있으면 붙이기
        lst[int(s)] -= 1
print(ans)

 

- 접근방식: 숫자 없으면 하나씩 추가해주고, 숫자 있으면 해당 숫자 붙이므로 하나 빼주기. 6이랑 9는 따로 처리 해주기 !

- 느낀점: 기본 구현문제. 문제에 주어진 내용을 잘 구현할 수 있느냐인데 실버수준으로 그리 어렵지 않았다. 문제를 꼼꼼히 안읽는다면 6이랑 9 예외처리 해주는 부분에서 틀릴 수도 있다.