[백준 BOJ] 10807번 개수 세기 (C언어)

2022. 2. 5. 21:41PS (Program Solving)/BOJ (백준)

문제 설명

https://www.acmicpc.net/problem/10807

 

10807번: 개수 세기

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

www.acmicpc.net

백준 BOJ 10807번 개수 세기 문제 사진

 

접근 방법 - 카운팅 연산이 필요한 수학 문제

백준의 10807번 문제는 횟수를 카운팅 하는 연산이 필요한 문제이다.

해당 문제는, 주어진 숫자들 중 특정 숫자가 존재하는 개수를 구하면 되는 문제이다.

여기서 카운팅 연산을 할 때 이 결과를 저장할 변수를 하나 선언해두고 시작해야 함을 고려해야 한다.

필자는 아래의 순서대로 코드를 작성하여 문제를 해결하였다.

 

코드의 실행 순서

1) 입력받을 숫자의 개수(n), 숫자들(arr), 카운팅 대상 숫자(cnt)를 차례로 입력받는다.

 

2) 정답을 저장할 변수 count를 0으로 초기화하여 선언한다.

 

3) 반복문을 통하여, arr 배열값을 모두 탐색한다.

- 여기서, cnt와 같은 숫자가 발견될 시 count에 1을 더한다.

 

4) 연산이 끝나면, 최종적으로 저장된 count를 출력한 뒤 실행 종료한다.

반응형

 

성공한 코드

#define _CRT_SECURE_NO_WARNINGS
#pragma warning(disable: 4996)
#include <stdio.h>

//백준 10807번 코드
int arr[100];
int main() {
	int n;
	scanf("%d", &n);
	for (int i = 0; i < n; i++) {
		scanf("%d", &arr[i]);
	}
	int cnt;
	scanf("%d", &cnt);

	int count = 0;
	for (int i = 0; i < n; i++) {
		if (arr[i] == cnt) { count++; }
	}
	printf("%d", count);
}

 

제출 결과

백준 BOJ 10807번 개수 세기 문제 C 제출 결과

(2021.12.22 백준 10807번 문제 제출 결과)

반응형