- 듣도 보도 못한 문제
https://www.acmicpc.net/problem/1764
1. 문제
김진영이 듣도 못한 사람의 명단과, 보도 못한 사람의 명단이 주어질 때, 듣도 보도 못한 사람의 명단을 구하는 프로그램을 작성하시오.
2. 문제 접근
1) 듣도 못한 사람의 수 N과 보도 못한 사람의 수 M을 입력받는다.
2) 듣도 못한 사람과 보도 못한 사람을 입력받는다.
3) 듣도 못한 사람을 입력받을 때 이를 HashSet에 저장한다.
4) 보도 못한 사람을 입력받을 때 HashSet에 존재하면 이를 ArrayList에 저장한다.
5) ArrayList를 정렬한다.
6) 지정된 출력형식으로 출력한다.
3. 코드
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.BufferedReader;
import java.util.StringTokenizer;
import java.util.HashSet;
import java.util.ArrayList;
import java.util.Comparator;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
StringBuilder sb = new StringBuilder();
int result = 0;
int N = Integer.parseInt(st.nextToken());
int M = Integer.parseInt(st.nextToken());
HashSet<String> hash = new HashSet<>();
ArrayList<String> answer = new ArrayList<>();
for(int i=0;i<N;i++) {
hash.add(br.readLine());
}
for(int i=0;i<M;i++) {
String input = br.readLine();
if(hash.contains(input)){
result++;
answer.add(input);
}
}
answer.sort(Comparator.naturalOrder());
sb.append(result).append("\n");
for(int i=0;i<answer.size();i++)
{
sb.append(answer.get(i)).append("\n");
}
System.out.print(sb);
}
}
'백준 > JAVA' 카테고리의 다른 글
[백준/JAVA] 2156번 포도주 시식 (0) | 2023.02.14 |
---|---|
[백준/JAVA] 10844번 쉬운 계단 수 (0) | 2023.02.14 |
[백준/JAVA] 9184번 신나는 함수 실행 (0) | 2023.02.10 |
[백준/JAVA] 9663번 N-Queen (0) | 2023.02.10 |
[백준/JAVA] 14889번 스타트와 링크 (0) | 2023.02.10 |