https://www.acmicpc.net/problem/14425
문제 설명
간단하게 N줄에 걸쳐 선언한 문자열 S들이 M줄에 걸쳐 선언한 문자열들과 같은지 비교하는 문제
for문을 사용한 방법과 map을 사용한 방법으로 풀이
위가 map, 아래가 for문
for문
import java.util.*;
import java.io.*;
public class Main {
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());
String[] nArr = new String[N];
String[] mArr = new String[M];
for(int n=0; n<N; n++) nArr[n] = br.readLine();
for(int m=0; m<M; m++) mArr[m] = br.readLine();
int cnt = 0;
for(int n=0; n<N; n++) {
for(int m=0; m<M; m++) {
if(nArr[n].equals(mArr[m])) cnt++;
}
}
System.out.println(cnt);
}
}
Map
import java.util.*;
import java.io.*;
public class Main {
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());
// N맵
HashMap<String, Integer> nMap = new HashMap<String, Integer>();
for(int n=0; n<N; n++) nMap.put(br.readLine(), n);
int cnt = 0;
for(int m=0; m<M; m++) {
String word = br.readLine();
if(nMap.containsKey(word)) cnt++;
}
System.out.println(cnt);
}
}
'알고리즘 > 백준' 카테고리의 다른 글
[백준 / 2468 안전 영역 / JAVA / DFS] (0) | 2023.07.29 |
---|---|
[백준 / 14501 퇴사 / Java / DP] (0) | 2023.07.29 |
[백준 2503 / 숫자 야구 / JAVA / 구현] (0) | 2023.07.27 |
[백준 1388 / 바닥 장식 / JAVA] (0) | 2023.06.23 |
[백준 18870 / 좌표 압축 / JAVA] (0) | 2023.05.19 |
댓글