백준
백준 12789 문제풀이 [python]
ys.k
2023. 8. 18. 13:07
포스팅에 앞서 내용이 틀릴 수 있습니다.
해당 부분 지적 감사히 받습니다.
문제를 보자.
울고 싶다.
오랜 시간 동안 문제를 봤지만 해결되지 않아 초조했다.
결과적으로 풀어내지 못했고, 다른 사람풀이를 봤다.
근데 코드가 뭔가 이상하다.
문제를 잘못 읽었다..
서브 공간에 들어간 사람은 다시 원래의 줄로 돌아갈 수 없다..
여태 가능하다는 전제하에 문제를 풀었으니 당연히 될 리 없었다.
코드는 다른 사람의 풀이를 참조했기에 많이 유사하다.
코드
import sys as s
n = int(s.stdin.readline())
stc1 = list(map(int,s.stdin.readline().split()))
stc2 = []
i = 1
while stc1:
print(stc1,stc2)
if stc1 and stc1[0] == i:
stc1.pop(0)
i+=1
else:
stc2.append(stc1.pop(0))
while stc2 and stc2[-1] == i:
print(stc1,stc2)
stc2.pop()
i+=1
print("Nice" if not stc2 else"Sad")
출처 : https://jinho-study.tistory.com/809
백준 알고리즘 12789번 도키도키 간식드리미(python)
스택과 큐를 둘 다 사용해야 되는 문제이다. 처음에 실수로 문제를 좀 어렵게 생각해서 푸는데 오래 걸렸다. 쉽게 생각하도록 하자! 큐가 없을 때까지 반복 -> 큐의 맨 처음 값이 i가 아니라면 스
jinho-study.tistory.com
배운 점
1. if문에 따른 출력 시 "값1 if 조건 else 값2 " 로 조건을 줄 수 있다.
근데 뭔가 발전속도가 굉장히 더디다.
더 분발하자