728x90
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에 포함되어 있는 것이 총 몇 개인지 구하는 프로그램을 작성하시오.
풀이
S배열에 N개의 문자열을 넣고, checking함수를 이용하여 M개의 문자열 중에 S에 포함되어 있는 문자열의 개수를 구했다.
코드
import java.io.*;
import java.util.StringTokenizer;
public class Main {
static int N;
static String[] S;
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
st = new StringTokenizer(br.readLine());
N = Integer.parseInt(st.nextToken());
int M = Integer.parseInt(st.nextToken());
S = new String[N];
for(int i = 0; i < N; i++) {
S[i] = br.readLine();
}
int count = 0;
for(int i = 0; i < M; i++) {
if(checking(br.readLine())) count++;
}
System.out.println(count);
}
public static boolean checking(String str) {
for(int i = 0; i < N; i++) {
if(S[i].equals(str)) return true;
}
return false;
}
}
틀린 부분이 있다면 정정해주시면 감사하겠습니다.
궁금한 부분이 있거나, 다른 아이디어가 있으시면 자유롭게 댓글 남겨주세요!
728x90
'[JAVA]백준 알고리즘 > 단계별 - 집합과 맵' 카테고리의 다른 글
[JAVA]백준 알고리즘 10816번 : 숫자 카드 2 (0) | 2022.12.27 |
---|---|
[JAVA]백준 알고리즘 1620번 : 나는야 포켓몬 마스터 이다솜 (0) | 2022.12.17 |
[JAVA]백준 알고리즘 10815번 : 숫자 카드 (0) | 2022.12.17 |