반응형
문제
정렬되어있는 두 배열 A와 B가 주어진다. 두 배열을 합친 다음 정렬해서 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 배열 A의 크기 N, 배열 B의 크기 M이 주어진다. (1 ≤ N, M ≤ 1,000,000)
둘째 줄에는 배열 A의 내용이, 셋째 줄에는 배열 B의 내용이 주어진다. 배열에 들어있는 수는 절댓값이 109보다 작거나 같은 정수이다.
출력
첫째 줄에 두 배열을 합친 후 정렬한 결과를 출력한다.
테스트 케이스
입력 1
2 1
4 7
1
출력 1
1 4 7
입력 2
3 5
3 5 6
1 1 1 1 1
출력 2
1 1 1 1 1 3 5 6
입력 3
3 3
1 1 1
1 1 1
출력 3
1 1 1 1 1 1
접근
1. 숫자 2개를 입력받습니다.
2. 첫 번째 숫자는 첫배 열의 사이즈, 두 번째 숫자는 두 번째 배열의 사이즈
3. 첫배 열 사이즈만큼 숫자를 입력받습니다.
4. 두 번째 배열 사이즈만큼 숫자를 입력받습니다.
5. 배열들을 통합하여 정렬하여 출력해줍니다.
arraylist를 이용하여 간단하게 구현할 수 있었습니다.
코드
package Baekjoon;
import java.awt.desktop.SystemEventListener;
import java.io.*;
import java.math.*;
import java.util.*;
public class Main {
/*
11728 problem
*/
public static void main(String[] args) throws NumberFormatException, IOException {
// TODO Auto-generated method stub
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
ArrayList<Integer> list = new ArrayList<>();
StringTokenizer st = new StringTokenizer(br.readLine());
int aSize = Integer.parseInt(st.nextToken());
int bSize = Integer.parseInt(st.nextToken());
st = new StringTokenizer(br.readLine());
for(int i=0; i<aSize; i++) {
list.add(Integer.parseInt(st.nextToken()));
}
st = new StringTokenizer(br.readLine());
for(int i=0; i<bSize; i++) {
list.add(Integer.parseInt(st.nextToken()));
}
Collections.sort(list);
for(int i=0; i<list.size(); i++) {
bw.write(list.get(i)+" ");
}
bw.flush();
br.close();
bw.close();
}
}
주의
반응형
'공부 정리 > 백준' 카테고리의 다른 글
[백준] 자바 10867 중복 빼고 정렬하기 (0) | 2021.09.14 |
---|---|
[백준] 자바 2822 점수 계산 (0) | 2021.09.13 |
[백준] 자바 1920 수 찾기 (0) | 2021.09.09 |
[백준] 자바 1789 수들의 합 (0) | 2021.09.08 |
[백준] 자바 1292 쉽게 푸는 문제 (0) | 2021.09.07 |
댓글