해결된 질문
작성
·
171
·
수정됨
0
from collections import deque
N = int(input())
N_list = list(map(int, input().split()))
dq = deque(N_list)
current = 0
res = ""
left = dq.popleft()
right = dq.pop()
while len(dq) >= 0:
if current > left and current > right:
break
if len(dq) == 0:
if current < left and current < right:
if left < right:
res = res + 'L'
# current = left
break
elif left > right:
res = res + 'R'
# current = right
break
elif left > current > right:
res = res + 'L'
# current = left
break
elif right > current > left:
res = res + 'R'
# current = right
break
else:
if current < left and current < right:
if left < right:
res = res + 'L'
current = left
left = dq.popleft()
elif left > right:
res = res + 'R'
current = right
right = dq.pop()
elif left > current > right:
res = res + 'L'
current = left
left = dq.popleft()
elif right > current > left:
res = res + 'R'
current = right
right = dq.pop()
print(len(res))
print(res)
deque 이용하여 pop(), popleft() 로 left, right 설정하여
분기하면서 찾았는데 실제 코딩테스트에서 이러한 코드도 시간 초과 문제가 발생하지 않을 지 궁금합니다.
강사님 풀이의 경우 while 문 안에 sort()가 계속 돌아가서 시간 이 더 오래 걸릴거 같다고 생각해서 질문드립니다!
답변 감사합니다!