문제 링크
https://www.acmicpc.net/problem/14425
14425번: 문자열 집합
첫째 줄에 문자열의 개수 N과 M (1 ≤ N ≤ 10,000, 1 ≤ M ≤ 10,000)이 주어진다. 다음 N개의 줄에는 집합 S에 포함되어 있는 문자열들이 주어진다. 다음 M개의 줄에는 검사해야 하는 문자열들이 주어
www.acmicpc.net
문제 설명
총 N개의 문자열로 이루어진 집합 S가 주어진다.
입력으로 주어지는 M개의 문자열 중에서 집합 S에 포함되어 있는 것이 총 몇 개인지 구하는 프로그램을 작성하시오.
입출력 예시
코드
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.HashSet;
import java.util.Set;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws Exception{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
Set<String> set = new HashSet<>();
int count = 0;
int N = Integer.parseInt(st.nextToken());
int M = Integer.parseInt(st.nextToken());
for (int i = 0; i < N; i++) {
set.add(br.readLine());
}
for (int i = 0; i < M; i++) {
String s = br.readLine();
if(set.contains(s)){
count++;
}
}
System.out.println(count);
}
}
풀이
1. BufferedReader를 통해 입력을 받아 첫 줄에 첫 번째 숫자와 두번째 숫자를 N, M에 대입해준다.
2. N의 횟수만큼 set에 문자열을 넣어준다.
3. M의 횟수만큼 set에 읽어온 문자열이 있는지 확인하여 있으면 count를 증가시켜준 후에 값을 도출한다.
반응형
'코딩테스트 > 백준' 카테고리의 다른 글
백준 2745번 : 진법 변환 [Java] (0) | 2023.09.05 |
---|---|
백준 11729번 : 최대 힙 [Java] (0) | 2023.09.04 |
백준 11659번 : 구간 합 구하기 4 [Java] (0) | 2023.09.03 |
댓글