[백준] 10807번 - 개수 세기 C++

문제
총 N개의 정수가 주어졌을 때, 정수 v가 몇 개인지 구하는 프로그램을 작성하시오.
입력
첫째 줄에 정수의 개수 N(1 ≤ N ≤ 100)이 주어진다. 둘째 줄에는 정수가 공백으로 구분되어져있다. 셋째 줄에는 찾으려고 하는 정수 v가 주어진다. 입력으로 주어지는 정수와 v는 -100보다 크거나 같으며, 100보다 작거나 같다.
출력
첫째 줄에 입력으로 주어진 N개의 정수 중에 v가 몇 개인지 출력한다.

 

풀기 전 로직 생각
  1. N을 입력받는다.
  2. 1차원 배열을 입력받은 N만큼 할당받아 생성한다.
  3. for문으로 배열만큼 입력받는다.
  4. 찾을 정수 v를 입력한다.
  5. for문으로 배열에 v값과 일치하는 값만큼 count를 증가시킨 후 출력한다.

코드

#include <iostream>

using namespace std;

int main(void) {
	int N; //입력할 갯수

	cin >> N;

	int* arr = new int[N]; //1차원 배열 N만큼 할당


	for (int i = 0; i < N;i++) {
		cin >> arr[i]; //N만큼 배열에 하나씩 입력
	}

	int v; //카운트할 정수 입력
	cin >> v;

	int count = 0;
	for (int i = 0; i < N; i++) {
		if (arr[i] == v)
			count++;
	}

	cout << count;

	return 0;
}

 

결과

예제 입력 1 복붙 결과

예제1

예제 입력 2 복붙 결과

예제2