https://www.acmicpc.net/problem/2864
2864번: 5와 6의 차이
첫째 줄에 두 정수 A와 B가 주어진다. (1 <= A,B <= 1,000,000)
www.acmicpc.net
해석 및 팁
이 문제는 두 개의 입력값들 중 겹치는 것들의 개수와 이름을 출력하는 문제입니다. 먼저 HashMap을 통해 값을 입력받은 후 중복여부를 판단하여 중복이면 ArrayList에 저장합니다. 마지막으로 ArrayList의 size와 값들을 StringBuilder에 저장하여 출력하면 됩니다.
Java 코드
import java.util.Scanner;
import java.util.HashMap;
import java.util.ArrayList;
import java.util.Collections;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
HashMap<String, Integer> map = new HashMap<>();
StringBuilder sb = new StringBuilder();
ArrayList<String> list = new ArrayList<>();
int count = 0;
int n = sc.nextInt();
int m = sc.nextInt();
for(int i = 0; i < n; i++) {
map.put(sc.next(), 1);
}
for(int i = 0; i < m; i++) {
String str = sc.next();
if(map.containsKey(str)) list.add(str);
}
Collections.sort(list);
sb.append(list.size()+"\n");
for(int i = 0; i < list.size(); i++) {
sb.append(list.get(i)+"\n");
}
System.out.println(sb);
}
}
'백준' 카테고리의 다른 글
백준 2217 로프(Java) (0) | 2023.01.26 |
---|---|
백준 4949 균형잡힌 세상(Java) (0) | 2023.01.25 |
백준 10816 숫자 카드 2(Java) (0) | 2023.01.25 |
백준 1026 보물(Java) (0) | 2023.01.25 |
백준 10866 덱(Java) (0) | 2023.01.25 |