https://www.acmicpc.net/problem/11728
문제
정렬되어있는 두 배열 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) # 리스트 요소를 한 줄로 출력
'코테' 카테고리의 다른 글
[백준] 9934 완전 이진 트리 (0) | 2022.04.08 |
---|---|
[백준] 1920 수 찾기 (0) | 2022.04.07 |
[백준] 2164 카드2 (0) | 2022.04.07 |
[백준] 9012 괄호 (0) | 2022.04.07 |
이코테 파이썬 문법 정리 (0) | 2022.04.03 |