공부하기/백준

[Python] 백준 풀기 11728 - 배열 합치기

XEV 2022. 12. 31. 23:59

파이썬 백준 11728번

실버 5

https://www.acmicpc.net/problem/11728

 

11728번: 배열 합치기

첫째 줄에 배열 A의 크기 N, 배열 B의 크기 M이 주어진다. (1 ≤ N, M ≤ 1,000,000) 둘째 줄에는 배열 A의 내용이, 셋째 줄에는 배열 B의 내용이 주어진다. 배열에 들어있는 수는 절댓값이 109보다 작거

www.acmicpc.net

 

 

 

 

 

문제 보기

분류: 정렬, 두 포인터

 

 

 

 

 

문제 풀기

올해 2022년 마지막 날에 푸는 마지막 백준 문제이다.

 

시간복잡도를 주의해야 할 것 같다.

각각의 배열의 최대 크기는 1_000_000 까지 주어지기에 extend() 함수를 이용하면 뒤에 붙여질 배열의 최대 크기인 1_000_000 까지 시간복잡도가 발생한다.

    O(len(other_list))

따라서 무난하게 넘어가리라 생각되었다.

 

sort() 함수의 경우

    O(N log N) 의 시간복잡도가 발생할 수 있다.

 

 

따라서, 두 배열을 입력받아 A 뒤에 B 배열을 extend() 로 붙인후 sort() 를 사용하여 정리하여 출력한다.

 

 

 

 

 

코드 보기

import sys
inputdata = sys.stdin.readline


def fnExtendList():
    A_ls.extend(B_ls)
    A_ls.sort()
    
    print(*A_ls)


if __name__ == "__main__":
    n, m = map(int, inputdata().split())
    A_ls = list(map(int, inputdata().split()))
    B_ls = list(map(int, inputdata().split()))
    
    fnExtendList()



# 4 3
# 2 3 5 9
# 1 4 7

# 1 2 3 4 5 7 9

 

 

 

 

 

추가 하기

나의 2022년. 고. 생. 했. 다.