https://www.acmicpc.net/problem/14425
14425번: 문자열 집합
첫째 줄에 문자열의 개수 N과 M (1 ≤ N ≤ 10,000, 1 ≤ M ≤ 10,000)이 주어진다. 다음 N개의 줄에는 집합 S에 포함되어 있는 문자열들이 주어진다. 다음 M개의 줄에는 검사해야 하는 문자열들이 주어
www.acmicpc.net
해석 및 팁
이 문제는 HashMap을 사용하면 쉽게 풀 수 있습니다. 처음 주어진 문자열을 HashMap에 넣은 후 그다음 주어진수들이 ㅗHashMap에 존재하면 count++을 해주면 됩니다.
Java 코드
import java.util.Scanner;
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
StringBuilder sb = new StringBuilder();
HashMap<String, Integer> map = new HashMap<>();
int n = sc.nextInt();
int m = sc.nextInt();
int count = 0;
for(int i = 0; i < n; i++) map.put(sc.next(), 1);
for(int i = 0; i < m; i++) {
if(map.containsKey(sc.next())) count++;
}
System.out.println(count);
}
}
'백준' 카테고리의 다른 글
백준 15655 N과 M (6)(Java) (0) | 2023.02.02 |
---|---|
백준 2512 예산(Java) (0) | 2023.02.02 |
백준 10974 모든 순열(Java) (0) | 2023.02.02 |
백준 15657 N과 M (8)(Java) (0) | 2023.02.02 |
백준 1004 어린 왕자(Java) (0) | 2023.02.02 |