티스토리 뷰

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가 주어진다. 두 배열을 합친 다음 정렬해서 출력하는 프로그램을 작성하시오.

코드

import java.io.*;
import java.util.Arrays;

public class Main {

    public static void main(String[] args) throws IOException {
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        String[] nm = br.readLine().split(" ");
        String[] arr1 = br.readLine().split(" ");
        String[] arr2 = br.readLine().split(" ");


        int n = Integer.parseInt(nm[0]);
        int m = Integer.parseInt(nm[1]);

        int[] res = new int[n + m];
        int idx = 0;

        for(int i = 0; i < n; i++) {
            res[idx++] = Integer.parseInt(arr1[i]);
        }
        for(int j = 0; j < m; j++) {
            res[idx++] = Integer.parseInt(arr2[j]);
        }

        Arrays.sort(res);

        for(int k = 0; k < n + m; k++) {
            bw.write(res[k] + " ");
        }

        bw.flush();
        br.close();
        bw.close();

    }

}

풀이

쉽다고 얕보면 안되는게, 그냥 StringTokenizer와 stream으로 풀었다가 시간 초과가 났다. 조심하자. Arrays.sort() 를 제외하고는 다 for문으로 돌려서 풀었다.

'학습 내용 > 백준 문제풀이' 카테고리의 다른 글

백준 1074 자바 - Z  (0) 2022.12.27
백준 1780 자바 - 종이의 개수  (0) 2022.11.12
백준 10816 자바 - 숫자 카드 2  (0) 2022.11.09
백준 10815 자바 - 숫자 카드  (0) 2022.11.01
백준 12919 자바 - A와 B 2  (0) 2022.11.01
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
TAG
more
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함