from heapq import heappush, heappop, heapify,heapify
import sys
input = sys.stdin.readline
a,b = map(int,input().strip().split(" "))
A = list(map(int, input().split(" ")))
B = list(map(int, input().split(" ")))
heapify(ans := list(A+B))
while ans:
print(heappop(ans),end = " ")
시행착오를 몹시 많이 겪었다 ㅠㅜㅜㅜㅠ
list를 heapify 함수에 넣으면 heap 구조로 변환된다.
A와 B라는 리스트가 존재할 때 두 개의 리스트 합치는 방법들이다! 하지만 각각 차이가 존재한다
새로운 리스타가 반환된다.
띠라서 print(A+B)를 하면 두 리스트를 이어 붙인 결과 값이 출력 된다
A의 주소값이 변하지 않고, 이 함수를 실행한 후 A를 출력하면 두 리스트를 이어붙인 결과 값이 출력된다. 하지만 print(A.extend(B))를 하면 None 이 출력된다.
또한 append와 비교해보자면 append는 매개변수 자체를 하나의 원소로 보는 반면 extend는 요소 하나하나를 리스트에 추가한다.
위에서 언급한 바와 같이 A라는 리스트속에 B라는 리스트가 들어간 형태로 반환된다.
처음에 푼 방법 중 틀렸습니다가 뜬 이유는 문자열 형식으로 입력을 받은 후 풀이를 적용하였기 때문에 숫자로 인지하지 않고 문자열로 인지하여 숫자의 실제가 아닌 숫자 자릿수를 기준으로 한 숫자 크기에 의해 정렬이 되기 때문이다!
int 형변환 몹시 중요