코테
[백준] 11728 배열 합치기
with_AI
2022. 4. 7. 11:59
https://www.acmicpc.net/problem/11728
11728번: 배열 합치기
첫째 줄에 배열 A의 크기 N, 배열 B의 크기 M이 주어진다. (1 ≤ N, M ≤ 1,000,000) 둘째 줄에는 배열 A의 내용이, 셋째 줄에는 배열 B의 내용이 주어진다. 배열에 들어있는 수는 절댓값이 109보다 작거
www.acmicpc.net
문제
정렬되어있는 두 배열 A와 B가 주어진다. 두 배열을 합친 다음 정렬해서 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 배열 A의 크기 N, 배열 B의 크기 M이 주어진다. (1 ≤ N, M ≤ 1,000,000)
둘째 줄에는 배열 A의 내용이, 셋째 줄에는 배열 B의 내용이 주어진다. 배열에 들어있는 수는 절댓값이 109보다 작거나 같은 정수이다.
출력
첫째 줄에 두 배열을 합친 후 정렬한 결과를 출력한다.
문제 풀이
정렬 돼 있는 두 리스트 라는 점이 중요하다
서로 처음인덱스부터 두 값을 비교해 나가면서 각 값을 한 개씩 가져와
새로운 배열에 저장하면 된다.
또는 그냥 두 배열을 합치고 파이썬의 강력한 내장 함수인 sort()함수를 사용한다.
import sys # 입력을 위해 가져옴
read = lambda: sys.stdin.readline().rstrip() #람다 함수를 사용하여 read 라는 함수를 만듬
N, M = map(int, read().split()) # N, M은 각 리스트의 길이를 저장함
A = list(map(int, read().split())) # A리스트 저장
B = list(map(int, read().split())) # B리스트 저장
ans = A + B # 두 리스트 더하기
ans.sort() # 리스트 정렬
print(*ans) # 리스트 요소를 한 줄로 출력