본문 바로가기
Algorithm/파이썬 알고리즘 문제풀이 (코딩테스트대비)

[파이썬 알고리즘 문제풀이] : 두 리스트 합치기

by 오주현 2021. 12. 30.
반응형
문제

오름차순으로 정렬이 된 리스트가 주어지고 두 리스트를 그대로 합쳐 오름차순이 정렬된 형태로 출력한다.

주의

 

풀이
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]:
        c.append(a[p1])
        p1 += 1
    else:
        c.append(b[p2])
        p2 += 1
# 비교한 값들을 C 리스트에 담아준다.
# while문이 둘 중 하나가 완료되어 끝났을 때 나머지 하나를 리스트에 합친다.
if p1 < n:
    c = c+a[p1:]

if p2 < m:
    c = c+b[p2:]

for x in c:
    print(x, end = ' ')
반응형

댓글