문제)
답안코드)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
import sys
#두리스트 더해서 sort() 하면 시간복잡도 nlog(n)-퀵소트 일경우
#정렬된 두 리스트 이기 때문에 앞에서 부터 하나씩 비교해 나가면 n번 반복으로 가능
#sys.stdin=open("input.txt", "r")
n=int(input())
a=list(map(int, input().split()))
m=int(input())
b=list(map(int, input().split()))
p1=p2=0#리스트 인덱스 가르키는 포인터 역할
c=[]#결과 리스트
while p1<n and p2<m:#두 리스트 중 하나가 끝까지 도달할때 까지 반복
if a[p1]<b[p2]:#b의 원소가 더 크면
c.append(a[p1])#a 원소 삽입
p1+=1#a의 다음 원소 가르킴
else:#a 원소가 더 크면
c.append(b[p2])
p2+=1
if p1<n:#b리스트가 끝났다면
c=c+a[p1:]#a뒷부분을 붙임
if p2<m:#a리스트가 끝났다면
c=c+b[p2:]#b뒷부분을 붙임
for x in c:#형식에 맞게 출력
print(x, end=' ')
|
cs |
'코딩테스트 with PYTHON' 카테고리의 다른 글
[python] 코딩테스트 대비 - 2차원 배열 합 (0) | 2021.12.20 |
---|---|
[python] 코딩테스트 대비 - 수열의 합 (경우의 수) (0) | 2021.12.20 |
[python] 코딩테스트 대비 - 카드 역배치(리스트 뒤집기) (0) | 2021.12.14 |
[python] 코딩테스트 대비 - 문자열에서 숫자만 추출 (0) | 2021.12.14 |
[python] 코딩테스트 대비 - 회문 문자열 (0) | 2021.12.14 |