C# 10816번 숫자 카드2

2022. 2. 24. 15:27C#/[백준]이분 탐색

코드 :

using System;
using System.Linq;
using System.Text;
namespace _2
{
    class Program
    {
        static int N = Convert.ToInt32(Console.ReadLine());
        static int[] A = Array.ConvertAll(Console.ReadLine().Split(' '), int.Parse);
        static int M = Convert.ToInt32(Console.ReadLine());
        static int[] M_Array = Array.ConvertAll(Console.ReadLine().Split(' '), int.Parse);
        static StringBuilder sb = new StringBuilder();


        static void Main(string[] args)
        {
            int N = Convert.ToInt32(Console.ReadLine());
            int[] A = Array.ConvertAll(Console.ReadLine().Split(' '), int.Parse);
            int M = Convert.ToInt32(Console.ReadLine());
            int[] M_Array = Array.ConvertAll(Console.ReadLine().Split(' '), int.Parse);
            StringBuilder sb = new StringBuilder();

            int[] array = new int[20000001];
            //배열의 값들이 나올때마다 카운트한다.
            for (int i = 0; i < N; i++)
            {
                int tmp = A[i] + 10000000;
                array[tmp]++;
            }
            //찾고자 하는 값의 인덱스를 직접 들어가서 출력한다
            for (int i = 0; i < M; i++)
            {
                int tmp = M_Array[i] + 10000000;
                sb.Append(array[tmp] + " ");
            }

            Console.WriteLine(sb);
        }
    }
}

이분탐색을 활용하기 보단 찾고자 하는 숫자가 몇번 있었나 FOR문을 돌면서 직접 샜다. 그리고 해당 인덱스에 들어가 몇개인지 출력했다.

'C# > [백준]이분 탐색' 카테고리의 다른 글

C# 2110번 공유기 설치  (0) 2022.02.24
C# 2805번 나무 자르기  (0) 2022.02.24
C# 1654번 랜선 자르기  (0) 2022.02.24
C# 1920번 수 찾기  (0) 2022.02.24