본문 바로가기

백준

14425번: 문자열 집합(Java)

 

 

 

 

 

 문자열을 검사하기 위해 hashCode()를 사용했다. 입력받은 String의 hashCode를 넣기 위해 정수를 저장하는 List를 만들었다. 

 

public class Main
{
    public static void main(String[] args)
    {
        Scanner scanner = new Scanner(System.in);
        List<Integer> data = new LinkedList<>();
        String temp;;
        int cnt = 0;
        int n = scanner.nextInt();
        int m = scanner.nextInt();
        
        for(int i = 0; i<n; i++)
        {
            temp = scanner.next();
            data.add(temp.hashCode());
        }

 

 

 

 

 이렇게 하면 입력받은 문자열이 집합에 존재하는지 확인할 때 contains()에 입력받은 문자열의 hashCode만 넣으면 된다.

 

 

for(int i = 0; i<m; i++)
{
    temp = scanner.next();
    if(data.contains(temp.hashCode()))
    {
        cnt++;
    }
}
System.out.print(cnt);

 

List에 입력받은 String의 hashCode가 있으면 cnt를 하나씩 증가시키고 마지막에 출력하면 된다. 

 

 

 

 

 

 

 

 

 

<전체 코드>

import java.util.*;

public class Main
{
    public static void main(String[] args)
    {
        Scanner scanner = new Scanner(System.in);
        List<Integer> data = new LinkedList<>();
        String temp;;
        int cnt = 0;
        int n = scanner.nextInt();
        int m = scanner.nextInt();

        for(int i = 0; i<n; i++)
        {
            temp = scanner.next();
            data.add(temp.hashCode());
        }

        for(int i = 0; i<m; i++)
        {
            temp = scanner.next();
            if(data.contains(temp.hashCode()))
            {
                cnt++;
            }
        }
        System.out.print(cnt);
    }
}

'백준' 카테고리의 다른 글

1764번: 듣보잡(Java)  (1) 2023.01.30
11478번: 서로 다른 부분 문자열의 개수(Java)  (1) 2023.01.30
2563번: 색종이(Java)  (1) 2023.01.29
10773번: 제로(Java)  (0) 2023.01.22
10814번: 나이 순 정렬(Java)  (0) 2023.01.21