https://school.programmers.co.kr/learn/courses/30/lessons/131704#
리스트에서 원소를 찾기 위해 in or find를 사용하면 시간초과가 날 확률이 매우 높아진다 주의하자 !
from collections import deque
def solution(order):
answer = 0
main = deque([i for i in range(1, len(order)+1)])
sub = deque()
for o in order:
if len(main) > 0 and o >= main[0]:
while True:
p = main.popleft()
if p != o:
sub.appendleft(p)
else:
answer += 1
break
else:
if sub[0] == o:
sub.popleft()
answer += 1
else:
break
return answer
'Coding Test > 프로그래머스' 카테고리의 다른 글
[프로그래머스] / [Level 2] / [Python] 숫자 카드 나누기 (0) | 2023.01.26 |
---|---|
[프로그래머스] / [Level 2] / [Python] 점찍기 (0) | 2023.01.26 |
[프로그래머스] / [Level 2] / [Python] 롤케이크 자르기 (0) | 2023.01.25 |
[프로그래머스] / [Level 2] / [Python] 할인 행사 (0) | 2023.01.21 |
[프로그래머스] / [Level 2] / [Python] 연속 부분 수열 합의 개수 (0) | 2023.01.20 |