Java 자료구조 List (4) 백준 배열합치기
백준 배열합치기
- 문제 https://www.acmicpc.net/problem/11728
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// input
Scanner scanner = new Scanner(System.in);
int N = scanner.nextInt(); // 배열 A의 사이즈
int M = scanner.nextInt(); // 배열 B의 사이즈
List<Integer> A = new ArrayList<>();
for(int i = 0; i < N; i++){
int n = scanner.nextInt();
A.add(n);
}
List<Integer> B = new ArrayList<>();
for (int i = 0; i < M; i++){
int n = scanner.nextInt();
B.add(n);
}
// A.forEach( e-> System.out.println(e + " "));
// B.forEach( e-> System.out.println(e + " "));
// logic List<Integer> result = new ArrayList<>();
int i = 0, j = 0; // 배열 A의 인덱스, 배열 B의 인덱스
while(i < N && j < M){
int a = A.get(i);
int b = B.get(j);
if (a <= b) {
result.add(a);
i++;
} else {
result.add(b);
j++;
}
}
for (; i < N; i++){
result.add(A.get(i));
}
for (; j < M; j++){
result.add(B.get(j));
}
// output
StringBuilder sb = new StringBuilder();
for (int e : result) {
sb.append(e + " ");
}
System.out.println(sb.toString());
}
}
- .nextInt() 는 공백 단위로 끊어서 읽는다.
- .get() 은 인덱스를 가져온다.
## ArrayList.get() 예제
String[] fruitsArray = {"apple", "banana", "kiwi", "mango"};
ArrayList<String> fruits = new ArrayList<>(Arrays.asList(fruitsArray));
System.out.println("get(0) : " + fruits.get(0));
System.out.println("get(2) : " + fruits.get(2));
출처 : https://codechacha.com/ko/java-collections-arraylist-get/
댓글남기기