WalkerJei's Lifelog

백준알고리즘 10807번 개수 세기 C# 본문

소프트웨어 개발/코딩테스트(기성 문제)

백준알고리즘 10807번 개수 세기 C#

WalkerJei 2025. 3. 11. 08:31

세부 정보

  • 사이트: 백준알고리즘
  • 번호: 10807
  • 문제명: 개수 세기
  • 언어: C#
  • 분류: 구현
  • 비고: 

 

문제

총 N개의 정수가 주어졌을 때, 정수 v가 몇 개인지 구하는 프로그램을 작성하시오.

 

입력

첫째 줄에 정수의 개수 N(1 ≤ N ≤ 100)이 주어진다. 둘째 줄에는 정수가 공백으로 구분되어져있다. 셋째 줄에는 찾으려고 하는 정수 v가 주어진다. 입력으로 주어지는 정수와 v는 -100보다 크거나 같으며, 100보다 작거나 같다.

 

출력

첫째 줄에 입력으로 주어진 N개의 정수 중에 v가 몇 개인지 출력한다.

 

풀이

입력한 문자열을 공백으로 구분해 정수형 배열에 저장할 때 다음과 같이 프로그래밍하면 저장이 잘 되지 않는다.

array[i] = Convert.ToInt32(inputArray.Split());

저장이 잘 되게 하려면 다음과 같이 작성해야 한다.

array[i] = Convert.ToInt32(inputArray.Split()[i]);

// 몇 개의 정수를 입력받을 지 결정
int input = Convert.ToInt32(Console.ReadLine());
// 입력받을 정수들을 저장할 배열
int[] array = new int[input];
// 찾으려는 정수의 개수
int numCount = 0;
// 정수들을 문자열 형태로 저장
string inputArray = Console.ReadLine();

// 입력한 문자열을 공백을 구분해 정수 배열에 저장
for (int i = 0; i < array.Length; i++)
    array[i] = Convert.ToInt32(inputArray.Split()[i]);
// 찾으려는 정수 입력
int whatNum = Convert.ToInt32(Console.ReadLine());

// 찾으려는 정수의 개수 계산
for(int i = 0; i < array.Length; i++)
    if(whatNum == array[i])
        numCount++;
// 찾으려는 정수의 총 개수 출력
Console.WriteLine(numCount);

 

후기

이번에는 30분 내에 다 푸는 데 성공했다. 문제는 간단했지만 푸는 사람이 윗부분의 풀이에 서술한 방법을 모른다면 헤멜 수 있는 문제가 될 수 있다. 이 부분을 유의한다면 문제가 쉽게 해결될 수 있다.