-
카테고리
-
세부 분야
알고리즘 · 자료구조
-
해결 여부
미해결
제 코드도 한 번만 확인 부탁드립니다.
22.01.15 11:18 작성 조회수 114
0
코드를 다음과 같이 짜봤는데
너무 무식하게 짠 거 같아요ㅠㅠ
테스트는 다 통과 했는데, 실제 테스트에서는 너무 비효율적일까요?
import sys
# sys.stdin = open('input.txt','rt')
from collections import deque
n = int(input())
a = list(map(int, input().split()))
a = deque(a)
# 방법 1
b= []
ans = ''
cnt = 0
while True:
if len(b) == 0:
if a[0] < a[-1]:
b.append(a.popleft())
cnt += 1
ans += 'L'
else:
b.append(a.pop())
cnt += 1
ans += 'R'
else:
if len(a) == 1:
if a[0] == n:
cnt += 1
ans += 'L'
break
else:
break
else:
if a[0] > b[-1] and a[-1] > b[-1]:
if a[0] < a[-1]:
b.append(a.popleft())
cnt += 1
ans += 'L'
else:
b.append(a.pop())
cnt += 1
ans += 'R'
elif a[0] > b[-1] and a[-1] < b[-1]:
b.append(a.popleft())
cnt += 1
ans += 'L'
elif a[0] < b[-1] and a[-1] > b[-1]:
b.append(a.pop())
cnt += 1
ans += 'R'
else:
break
print(cnt)
print(ans)
답변을 작성해보세요.
0
답변 1