문제출처: https://www.acmicpc.net/problem/13417
1. 문제 접근 방식
arr 리스트에 처음 문자를 삽입하고 나머지 문자를 arr리스트의 원소와 비교하면서 0번째에 insert하거나 마지막에 붙이거나 한다.
2. 내가 푼 코드
import sys
case = int(sys.stdin.readline())
for _ in range(case):
x = int(sys.stdin.readline())
queue= list(map(str,sys.stdin.readline().split()))
arr = [queue[0]]
for i in range(1,x):
if queue[i] <= arr[0]:
arr.insert(0, queue[i])
else:
arr.append(queue[i])
print(''.join(arr))
3. 결과 및 느낀점
insert 함수 대신에 deque을 import 해서 appendleft하는게 시간복잡도 측면에서 이득이 된다고 한다.
덱을 사용하자.
'[Boj문제풀이]' 카테고리의 다른 글
[Boj/백준] 5464 Python (0) | 2021.09.11 |
---|---|
[Boj/백준] 18115 Python (0) | 2021.09.10 |
[Boj/백준] 15828 Python (0) | 2021.09.07 |
[Boj/백준] 10845 Python (0) | 2021.09.06 |
[Boj/백준] 1406 Python (0) | 2021.09.03 |