https://www.acmicpc.net/problem/1764
1764번: 듣보잡
첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다.
www.acmicpc.net
문자열과 해시, 정렬을 사용해서 해결할 수 있는 간단한 문제였다. 난이도에 비해 생각보다 정답 비율이 낮은데 아마 맨 처음의 나처럼 사전순으로 정렬하지 않고 그냥 출력한 사람들이 많아서일 것 같다.
문제 및 입출력
코드
import java.util.HashSet;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
HashSet<String> set = new HashSet<String>(); // 듣도 못한 사람 저장
ArrayList<String> list = new ArrayList<String>(); // 듣도 + 보도 못한 사람 저장
int n = sc.nextInt();
int m = sc.nextInt();
int cnt = 0;
for(int i=0; i<n; i++)
{
set.add(sc.next()); // 듣도 못한 사람을 전부 저장 후
}
for(int i=0; i<m; i++)
{
String temp = sc.next(); // 입력 받는 값(보도 못한 사람)과 비교해서
if(set.contains(temp)) // 듣도 + 보도 못한 사람일 경우 list에 저장하고, cnt+1
{
cnt++;
list.add(temp);
}
}
Collections.sort(list); // 듣도 보도 못한 사람의 이름을 정렬해서 출력
System.out.println(cnt);
for(String s : list)
{
System.out.println(s);
}
sc.close();
}
}
'[ 다먹살 ] > - Coding' 카테고리의 다른 글
[백준] 1259 펠린드롬수 (0) | 2021.10.26 |
---|---|
[백준] 1302 베스트셀러 (0) | 2021.10.25 |
[프로그래머스] 레벨1 나머지가 1이 되는 수 찾기 (0) | 2021.10.20 |
[백준] 2167 2차원 배열 (0) | 2021.10.20 |
[백준] 1475 방 번호 (0) | 2021.10.19 |
댓글