🎈 두 리스트 합치기
오름차순으로 정렬이 된 두 리스트가 주어지면 두 리스트를 오름차순으로 합쳐 출력하는 프로
그램을 작성하세요.
▣ 입력설명
첫 번째 줄에 첫 번째 리스트의 크기 N(1<=N<=100)이 주어집니다.
두 번째 줄에 N개의 리스트 원소가 오름차순으로 주어집니다.
세 번째 줄에 두 번째 리스트의 크기 M(1<=M<=100)이 주어집니다.
네 번째 줄에 M개의 리스트 원소가 오름차순으로 주어집니다.
각 리스트의 원소는 int형 변수의 크기를 넘지 않습니다.
▣ 출력설명
오름차순으로 정렬된 리스트를 출력합니다.
import sys
# sys.stdin = open("input.text", "rt")
N = int(input())
dataA = list(map(int,input().split()))
M = int(input())
dataB = list(map(int, input().split()))
res = []
i = 0
j = 0
while i<N and j<M:
if dataA[i] > dataB[j]:
res.append(dataB[j])
j += 1
else:
res.append(dataA[i])
i += 1
# res = dataA + dataB
# res.sort()
if i < N:
res += dataA[i:]
if j < M:
res += dataB[j:]
# while N > 0:
# res.append(dataA[i])
# i += 1
# N -=1
# while M > 0:
# res.append(dataB[j])
# j += 1
# M -=1
for x in res:
print(x, end = " ")
🎃 코멘트
파이썬의 장점으로 그냥 두 리스트 + 로 합치고 sort() 메서드로 정렬해주면 끝.
근데 그러려고 푼 것은 아니니. 하나씩 확인하면서 저장 후에 슬라이싱을 통해 남아있는 것을 더해주면 끝