SWE 5110 - 수열합치기
- 시간초과가 떴다.
- 링크드 리스트로 구현해야 한다길래 혹시나 하는 마음에 deque를 써봤지만 실패했다.
import collections
lst = collections.deque()
lst2 = collections.deque()
TC = int(input())
for tc in range(1, TC+1):
N, M = map(int, input().split()) # 수열의 길이, 수열의 개수
lst = list(map(int, input().split()))
for i in range(M-1):
lst2 = list(map(int, input().split()))
for j in range(len(lst)):
if max(lst) < lst2[0]:
lst = lst+lst2
if lst[j] > lst2[0]:
lst = lst[0:j] + lst2+lst[j:]
break
result = lst[-10:]
print("#%s" % tc, end=" ")
for i in range(1, 11):
print(result[-i], end=" ")
print()
- 애초에 수열 하나로 묶음을 만들지 않고, 알파벳 개수별로 노드를 만들어서 넣어줘야 하는걸까?
- 음…
- 내일 다시 풀자
참고자료 [SWexperacademy]https://swexpertacademy.com [참고블로그]https://tothefullest08.github.io/algorithm/2019/03/09/4_5102_%EB%85%B8%EB%93%9C%EC%9D%98%EA%B1%B0%EB%A6%AC/