본문 바로가기
Development/Baekjoon

[C#] 14425번: 문자열 집합

by Mobics 2025. 10. 29.

목차


    백준 단계별로 풀어보기

    25.10.29

    14단계: 집합과 맵


    14425번: 문자열 집합

    문제 링크 : https://www.acmicpc.net/problem/14425

     

    문제 풀이

    1. 입력값을 받아 각각 int값으로 변환하여 문자열 개수를 담는 변수 nm 에 담는다.
    2. 집합 S의 문자열을 담을 HashSet 인 s 를 초기화한다.
    3. for 반복문을 통해 집합 S의 문자열을 HashSet s 에 추가한다.
    4. 결과값을 담을 int형 변수 result 를 0으로 초기화하고, for 반복문을 통해 입력값으로 받은 문자열이 s 에 있는지 Contains 함수로 확인하고, 포함되어 있다면 result 의 값을 1 증가시킨다.
    5. 찾은 결과값을 StringBuilder에 담아 출력한다.

     

    정답 코드

    using System.IO;
    using System.Text;
    
    class Backjoon
    {
        static void Main(string[] args)
        {
            using var sr = new StreamReader(Console.OpenStandardInput());
            using var sw = new StreamWriter(Console.OpenStandardOutput());
            StringBuilder sb = new StringBuilder();
    
            string[] counts = sr.ReadLine().Split();
            int n = int.Parse(counts[0]);
            int m = int.Parse(counts[1]);
            HashSet<string> s = new HashSet<string>();
    
            for (int i = 0; i < n; i++)
            {
                s.Add(sr.ReadLine());
            }
    
            int result = 0;
            for (int i = 0; i < m; i++)
            {
                if (s.Contains(sr.ReadLine()))
                    result++;
            }
    
            sb.Append(result);
            sw.Write(sb.ToString());
        }
    }