Algorithm/백준 알고리즘

백준_14425 문자열 집합(자바) / 문자열

미스터로즈 2021. 7. 22. 09:24

시간&메모리 제한

 

문제

 

입력&출력

 

문제풀이

package com.Back;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Back_14425 {

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st = new StringTokenizer(br.readLine());
		int N = Integer.parseInt(st.nextToken());
		int M = Integer.parseInt(st.nextToken());
		int ans =0;
		String[] sArr = new String[N];
		
		for (int i = 0; i < N; i++) {
			sArr[i]=br.readLine();
		}
		
		for (int i = 0; i < M; i++) {
			String temp =br.readLine();
			for (int j = 0; j < N; j++) {
				if(sArr[j].equals(temp)) {
					ans++;
					break;
				}
			}
		}
		System.out.println(ans);
	}
}

- 이 문제는 문자열을 이용하는 문제입니다.

- N개의 문자열을 보관할 공간을 만들어줍니다.

- for문을 돌려서 M개의 문자열을 N개의 문자열과 비교를 합니다.

- N개에서 중복되는 문자열이 없기 때문에 찾으면 바로 break를 이용해서 시간 절약을 해줍니다.