백준 코드 공부/파이썬

백준 11728 : 배열 합치기 (Python)

GUuu9 2022. 2. 5. 09:21

문제

11728번: 배열 합치기 (acmicpc.net)

 

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보다 작거나 같은 정수이다.

출력

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

예제 입력 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

출처

알고리즘 분류

 


import sys
input = sys.stdin.readline
n, m = map(int,input().split())
a = list(map(int,input().split()))
b = list(map(int,input().split()))
a += b
a = sorted(a)
print(a[:])

처음 작성하고 실패했던 코드 입니다.

a 와 b 의 리스트를 a리스트로 합치게한 후 sorted(a)를 사용해 리스트 안의 값들을 정렬시킵니다.

이후에 a[:]를 사용해 리스트 안의 내용을 모두 출력 하였으나,

[ , , , , ] 의 형태로 특수 문자가 포함된 형태로 출력되는 문제가 있습니다.

 

 

import sys
input = sys.stdin.readline

n, m = map(int,input().split())

a = list(map(int,input().split()))
b = list(map(int,input().split()))

a += b

a= sorted(a)

for _ in range(n+m):
    print(a[_], end = ' ')

따라서 배열을 사용해 해당 위치의 값을 출력하였습니다.

end문자를 사용해 문장을 출력 후 줄바꿈이 아닌 원하는 문자로 대신하게끔 설정할 수 있습니다.

출력 형태를 위해 띄어쓰기로 변경하여 출력하면

 

예제와 동일하게 출력된 것을 알 수 있습니다.

 

 


Git Hub

BaekJoon-Study/11728.py at python · GUuu9/BaekJoon-Study (github.com)

 

GitHub - GUuu9/BaekJoon-Study

Contribute to GUuu9/BaekJoon-Study development by creating an account on GitHub.

github.com