촉촉한초코칩
[백준] 10807 (개수 세기) c언어 본문
문제
총 N개의 정수가 주어졌을 때, 정수 v가 몇 개인지 구하는 프로그램을 작성하시오.
입력
첫째 줄에 정수의 개수 N(1 ≤ N ≤ 100)이 주어진다. 둘째 줄에는 정수가 공백으로 구분되어져있다. 셋째 줄에는 찾으려고 하는 정수 v가 주어진다. 입력으로 주어지는 정수와 v는 -100보다 크거나 같으며, 100보다 작거나 같다.
출력
첫째 줄에 입력으로 주어진 N개의 정수 중에 v가 몇 개인지 출력한다.
#include <stdio.h>
int main() {
int a;
scanf("%d", &a);
int b[100] = {0,};
for(int i=0; i<a; i++) {
scanf("%d", &b[i]);
}
int c, sum = 0;
scanf("%d", &c);
for(int i=0; i<a; i++) {
if(b[i] == c)
sum += 1;
}
printf("%d\n", sum);
}
- a : 배열 개수
- b : 배열
- c : 찾을 값
- sum : 배열에 c가 몇 개 있는지 합계
보완
> 배열의 값을 100으로 선언해두는 것보다 배열을 동적 할당하는 걸로 수정하기
#include <stdio.h>
#include <stdlib.h>
int main() {
int a;
scanf("%d", &a);
int *b;
b = calloc(a, sizeof(int));
for(int i=0; i<a; i++) {
scanf("%d", &b[i]);
}
int c, sum = 0;
scanf("%d", &c);
for(int i=0; i<a; i++) {
if(b[i] == c)
sum += 1;
}
printf("%d\n", sum);
free(b);
}
'Algorithm' 카테고리의 다른 글
[백준] 11382 (꼬마 정민) c언어 (0) | 2023.02.22 |
---|---|
[백준] 5597 (과제 안 내신 분..?) Python (0) | 2023.01.21 |
[백준] 1081(합) c언어 - 미해결 (0) | 2023.01.03 |
[백준] 10989 (수 정렬하기3) c언어 (0) | 2022.09.21 |
[백준] 25304 (영수증) c언어 (0) | 2022.08.12 |