반응형
문제 유형: Two Pointer
정렬되어있는 두 배열 A와 B가 주어진다. 두 배열을 합친 다음 정렬해서 출력하는 프로그램을 작성하시오.
작성 코드
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
StringBuilder stringBuilder = new StringBuilder();
int N = sc.nextInt();
int M = sc.nextInt();
int[] sorted = new int[N + M];
for (int i = 0; i < sorted.length; i++) {
sorted[i] = sc.nextInt();
}
Arrays.sort(sorted);
for (int element : sorted) {
stringBuilder.append(element);
stringBuilder.append(" ");
}
System.out.println(stringBuilder);
}
}
접근 방식
1. Two Pointers를 사용하지 않았다. Two Pointers 보다 구현이 빠른 Arrays.sort()를 사용했다.
2. 먼저 input을 받고 그에 맞춰 하나의 Array에 삽입후 Arrays.sort()를 사용했다.
개선 사항
1. Two Pointers를 이용한 구현 속도가 느리기에 위와 같은 방법을 사용했으나 정화히는 Two Pointers를 어떻게 쓰는지 모르겠어인지도 맞다. 이부분에 있어 Two Pointers가 Merge에 기초가 된다는 부분과 연결되는 것 같으니 그에 맞추어 생각해 볼 필요가 있다.
반응형
'알고리즘 > JAVA' 카테고리의 다른 글
Recursion: 백준 N과 M(6)-15655 (0) | 2024.08.22 |
---|---|
Recursion: 백준 N과 M(5) - 15654 (0) | 2024.08.21 |
Two Pointers: 백준 회문-17609 (1) | 2024.08.09 |
Two Pointers: 백준 수 고르기-2230 (0) | 2024.08.09 |
Two Pointers: 백준 부분합-1806 (0) | 2024.08.09 |