C#

백준 C# 10816 문제 풀이

psb08 2024. 12. 19. 15:23
728x90

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

목차

1. 설명

 

2. 내 코드

 

3. 문제 풀이 해석 내용

 

4. 실행 결과

 

설명

백준 실버 4 문제 입니다.

문제명 : 숫자 카드 2

 

내 코드

int[] arry = new int[20000001];
int n = int.Parse(Console.ReadLine());
string[] nstr = Console.ReadLine().Split(' ');

int m = int.Parse(Console.ReadLine());
string[] mstr = Console.ReadLine().Split(' ');
int nIdx = 10000000;
StringBuilder stringBuilder = new StringBuilder();
for (int i = 0; i < nstr.Length; i++)
{
    arry[nIdx + int.Parse(nstr[i])]++;
}
for (int i = 0; i < mstr.Length; i++)
{
    stringBuilder.Append(arry[nIdx + int.Parse(mstr[i])] + " ");
}
Console.WriteLine(stringBuilder.ToString());

 

문제 풀이 해석 내용

 

배열 초기화

int[] arry = new int[20000001];

 

 

입력 받기

int n = int.Parse(Console.ReadLine());
string[] nstr = Console.ReadLine().Split(' ');

 

 

쿼리 입력 받기

int m = int.Parse(Console.ReadLine());
string[] mstr = Console.ReadLine().Split(' ');

 

 

카드 개수 세기

int nIdx = 10000000;
for (int i = 0; i < nstr.Length; i++)
{
    arry[nIdx + int.Parse(nstr[i])]++;
}

 

 

쿼리 결과 출력

StringBuilder stringBuilder = new StringBuilder();
for (int i = 0; i < mstr.Length; i++)
{
    stringBuilder.Append(arry[nIdx + int.Parse(mstr[i])] + " ");
}
Console.WriteLine(stringBuilder.ToString());

 

 

실행 결과

 

728x90

'C#' 카테고리의 다른 글

백준 C# 18110 문제 풀이  (0) 2024.12.21
백준 C# 1920 문제 풀이  (0) 2024.12.20
백준 C# 10773 문제 풀이  (0) 2024.12.18
백준 C# 4949 문제 풀이  (0) 2024.12.17
백준 C# 2164 문제 풀이  (0) 2024.12.16