백준 11728 - 배열 합치기

TechN0·2024년 12월 30일

알고말고 알고리즘

목록 보기
3/22
post-thumbnail

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

문제 설명 정렬되어있는 두 배열 A와 B가 주어진다. 두 배열을 합친 다음 정렬해서 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 배열 A의 크기 N, 배열 B의 크기 M이 주어진다. (1 ≤ N, M ≤ 1,000,000)

둘째 줄에는 배열 A의 내용이, 셋째 줄에는 배열 B의 내용이 주어진다. 배열에 들어있는 수는 절댓값이 109보다 작거나 같은 정수이다.

출력

첫째 줄에 두 배열을 합친 후 정렬한 결과를 출력한다.

예제 입력 1 복사

2 2
3 5
2 9

예제 출력 1 복사

2 3 5 9

예제 입력 2 복사

2 1
4 7
1

예제 출력 2 복사

1 4 7

예제 입력 3 복사

4 3
2 3 5 9
1 4 7

예제 출력 3 복사

1 2 3 4 5 7 9

출처

알고리즘 분류

정답

N, M = map(int,input().split())
A = list(map(int,input().split()))
B = list(map(int,input().split()))

# sumList = A + B
# for i in range(len(sumList) - 1):
#     for j in range(len(sumList) - i - 1):
#         if sumList[j] > sumList[j + 1]:
#             sumList[j], sumList[j + 1] = sumList[j + 1], sumList[j]
sumList = sorted(A + B)

print(*sumList)

처음에 버블정렬로 하고 프린트도 * 없이 했는데

시간초과가 나왔다

결과가 [a, b, c, d] 이렇게 출력되서 오답인것도 있었다.

팀원 블로그 보니까 언패킹 연산자라는게 있단다.

프린트문 () 안에 * 를 안넣고 리스트를 출력하면 분리되서 정답처리 된다.

0개의 댓글