반응형
문제
오름차순으로 정렬이 된 리스트가 주어지고 두 리스트를 그대로 합쳐 오름차순이 정렬된 형태로 출력한다.
주의
풀이
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 = ' ')
반응형
'Algorithm > 파이썬 알고리즘 문제풀이 (코딩테스트대비)' 카테고리의 다른 글
[파이썬 알고리즘 문제풀이] : 격자판 최대합 (0) | 2021.12.31 |
---|---|
[파이썬 알고리즘 문제풀이] : 수들의 합 (0) | 2021.12.31 |
[파이썬 알고리즘 문제풀이] : 카드 역배치(정올 기출) (0) | 2021.12.30 |
[파이썬 알고리즘 문제풀이] : 숫자만 추출 (0) | 2021.12.29 |
[파이썬 알고리즘 문제풀이] : 회문 문자열 검사 (0) | 2021.12.28 |
댓글