⌨️CS-PS/백준_수학&구현
[Baekjoon/백준][10807][C/C++] 개수 세기
미르의 블로그
2023. 1. 18. 12:59
728x90
반응형
『목차』
0. 개요
1. 문제
2. 풀이
3. 코드
0. 개요
브론즈5 레벨의 쉬운 문제. 머리 식힐겸 푸는 문제였다. N의 크기가 작기때문에, 브루트포스 방식으로 단순하게 풀면 된다.
1. 문제
https://www.acmicpc.net/problem/10807
10807번: 개수 세기
첫째 줄에 정수의 개수 N(1 ≤ N ≤ 100)이 주어진다. 둘째 줄에는 정수가 공백으로 구분되어져있다. 셋째 줄에는 찾으려고 하는 정수 v가 주어진다. 입력으로 주어지는 정수와 v는 -100보다 크거
www.acmicpc.net
[문제]
총 N개의 정수가 주어졌을 때, 정수 v가 몇 개인지 구하는 프로그램을 작성하시오.
[입력]
첫째 줄에 정수의 개수 N(1 ≤ N ≤ 100)이 주어진다. 둘째 줄에는 정수가 공백으로 구분되어져있다. 셋째 줄에는 찾으려고 하는 정수 v가 주어진다. 입력으로 주어지는 정수와 v는 -100보다 크거나 같으며, 100보다 작거나 같다.
[출력]
첫째 줄에 입력으로 주어진 N개의 정수 중에 v가 몇 개인지 출력한다.
[예제 입력 1]
11
1 4 1 2 4 2 4 2 3 4 4
2
[예제 출력 1]
3
[예제 입력 2]
11
1 4 1 2 4 2 4 2 3 4 4
5
[예제 출력 2]
0
2. 풀이
N값을 입력받고, N개의 정수를 동적배열에 입력받고, v값을 입력 받은 후, 배열을 순차적으로 순회하며 v값을 찾는다. 이때, v값과 배열값이 동일한 경우에만 count변수를 ++ 시켜주면 된다.
3. 코드
#pragma warning (disable:4996)
#include <stdio.h>
#include <stdlib.h>//동적배열 사용목적
int main(int argc, char* argv[]) {
/* N값 입력받기 */
int N; scanf("%d", &N);
/* N개의 정수를 동적배열에 입력받기 */
int* arr = (int*)calloc(N, sizeof(int));
for (int i = 0; i < N; i++)
scanf("%d", &arr[i]);
/* v값 입력받기 */
int v; scanf("%d", &v);
/* 배열에서 v값의 개수 찾기 */
int count = 0;
for (int i = 0; i < N; i++)
if (arr[i] == v)
count++;
/* 출력 */
printf("%d", count);
/* 마무리 */
free(arr);
return 0;
}
728x90
반응형