정렬된 두 배열이기 때문에 앞에서 부터 포인터를 두개 잡고
순차적으로 비교해 나가면 된다!
마지막에 i, j 인덱스 때문에 살짝 헷갈림!
n, m = map(int, input().split())
arr1 = list(map(int, input().split()))
arr2 = list(map(int, input().split()))
ans_arr = []
i, j = 0, 0
while i < n and j < m:
if arr1[i] < arr2[j]:
ans_arr.append(arr1[i])
i += 1
else:
ans_arr.append(arr2[j])
j += 1
if i == n:
for x in range(j, m):
ans_arr.append(arr2[x])
elif j == m:
for y in range(i, n):
ans_arr.append(arr1[y])
for ans in ans_arr:
print(ans, end=" ")
'CS > 알고리즘' 카테고리의 다른 글
[카테부] 코테스터디 2주차 - N과 M(6) (백준 15655) (0) | 2024.08.13 |
---|---|
[카테부] 코테스터디 2주차 - N과 M(5) (백준 15654) (0) | 2024.08.13 |
[카테부] 코테스터디 2주차 - 부분합 (백준 1806) (0) | 2024.08.07 |
[카테부] 코딩테스트 1회차 (4) | 2024.07.20 |
[알고리즘] 백트래킹 재귀함수안의 값 재귀함수 밖으로 가지고 나오기 (0) | 2024.05.21 |