풀이 과정
- n개를 HashSet에 넣고 , m개를 입력받으면서 HashSet에 존재하는지 확인
HashSet
[Java] 자바 HashSet 사용법 & 예제 총정리 (tistory.com)
- HashSet은 Set 인터페이스의 구현 클래스
- Set의 성질을 그대로 상속 받음
- Set은 객체를 중복해서 저장할 수 없고 하나의 null값만 저장 가능
- 저장 순서가 유지되지 않음
- 값을 추가하거나 삭제할 때에는 내가 추가 혹은 삭제하고자 하는 값이 Set 내부에 있는지 검색한 뒤 추가나 삭제를 해야 하므로 속도가 List 구조에 비해 느림
HashSet<Integer>set = new HashSet<Integer>(); //Hashset 생성
HashSet<Integer>set2 = new HashSet<Integer>(10); //초기 용량 지정
HashSet<Integer>set3 = new HashSet<Integer>(Arrays.asList(1,2,3)); //초기값 지정
set.add(1); //값 추가
set.add(2);
set.add(3);
set.remove(1); //값 제거
set.clear(); //모든 값 제거
set.size(); //set 크기 반환
Iterator iter = set3.iterator(); //Iterator 사용 전체 값 출력
while(iter.hasNext()) {
//값이 있으면 true 없으면 false
System.out.println(iter.next());
}
set3.contains(1); //set3 내부에 값 1이 있는지 check
- HashSet의 add(value) 메소드를 사용하여 값을 추가
- HashSet 내부에 존재하지 않는다면 그 값을 HashSet에 추가하고 true를 반환하고 내부에 값이 존재한다면 false를 반환
- HashSet의 remove(value) 메소드를 사용하여 값을 제거
- value의 값이 HashSet 내부에 존재한다면 그 값을 삭제한 후 true를 반환하고 없으면 false를 반환
정답
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
import java.util.HashSet;
public class Main {
public static void main(String[] args) throws IOException
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
HashSet<String> set = new HashSet<String>();
StringTokenizer st = new StringTokenizer(br.readLine());
int n = Integer.parseInt(st.nextToken());
int count = 0; //포함된 개수
for(int i=0; i<n; i++)
{
set.add(br.readLine());
}
int m = Integer.parseInt(st.nextToken());
for(int i=0; i<m; i++)
{
if(set.contains(br.readLine()))
{
count++;
}
}
bw.write(count+"");
bw.flush();
bw.close();
}
}
'Java > 백준' 카테고리의 다른 글
[JAVA] 백준 10816 숫자 카드 2 (1) | 2024.02.13 |
---|---|
[JAVA] 백준 7785 회사에 있는 사람 (1) | 2024.02.12 |
[JAVA] 백준 17103 골드바흐 파티션 (0) | 2024.02.10 |
[JAVA] 백준 4948 베르트랑 공준 (1) | 2024.02.10 |
[JAVA] 백준 1929 소수 구하기 (1) | 2024.02.10 |