카테고리 없음

백준 11728번(배열 합치기)

개발찾아 삼만리 2024. 9. 21. 23:35

문제


 

코드


import sys
input = sys.stdin.readline

n, m = map(int, input().split())
answer = []
a_list = list(map(int, input().split()))
b_list = list(map(int, input().split()))
a_idx, b_idx = 0, 0

for _ in range(n + m):
    if a_idx == n and b_idx != m:
        for i in b_list[b_idx:]:
            answer.append(i)
        break
    elif a_idx != n and b_idx == m:
        for i in a_list[a_idx:]:
            answer.append(i)
        break

    if a_idx != n or b_idx != m:
        if a_list[a_idx] < b_list[b_idx]:
            answer.append(a_list[a_idx])
            a_idx += 1
        else:
            answer.append(b_list[b_idx])
            b_idx += 1
print(*answer, end="")

 

투포인터 알고리즘으로 풀고 싶었는데, 제대로 투포인터 알고리즘을 이용해서 푼 것 같지는 않다.

 

투포인터 알고리즘에 대해 좀 더 자세히 공부가 필요하다.