백준 웹사이트 "10807번 - 개수 세기" 문제풀이입니다.
언어는 C언어입니다. (제출 언어: C99)
문제
소스 코드
#include <stdio.h>
int main(void){
int N;
scanf("%d", &N);
int arr[N];
for(int i=0; i<N; i++){
scanf("%d", &arr[i]);
}
int v;
scanf("%d", &v);
int count = 0;
for(int j=0; j<N; j++){
if(arr[j]==v)
count++;
}
printf("%d\n", count);
}
문제 풀이
1차원 배열을 연습해볼 수 있는 간단한 문제입니다. 가장 먼저 정수의 개수가 주어지면, 이를 변수 N에 저장합니다. 이는 1차원 배열의 길이가 되어, Line 7에서 배열 arr을 만들 때 이용됩니다. 둘째 줄에 제공되는 정수들은 for문을 통해 배열 arr에 하나씩 차례로 저장할 수 있습니다. 찾고자하는 정수가 셋째 줄에 입력되면, 이는 변수 v에 저장해둡니다.
Line 15에서 선언하는 count는 정수 v가 나오는 횟수, 즉 최종적으로 출력할 결과입니다. for문을 통해 배열 arr에 저장된 정수들을 하나씩 살펴보며, 해당 정수가 v와 동일하다면 count를 1만큼 올려주고, 동일하지 않다면 넘어갑니다. 이렇게 배열을 처음부터 끝까지 검사하면, 마지막에 count에 저장된 숫자가 정수 v가 등장하는 횟수가 되겠죠? 이를 출력만 해준다면, 문제 풀이는 끝납니다!
반응형
'코딩 > 백준 BOJ' 카테고리의 다른 글
[백준/C언어] 2738번 - 행렬 덧셈 (0) | 2023.01.13 |
---|---|
[백준/C언어] 5597번 - 과제 안 내신 분..? (0) | 2022.12.28 |
[백준/C언어] 25304번 - 영수증 (0) | 2022.12.19 |
[백준/C언어] 25083번 - 새싹 (0) | 2022.12.16 |
[백준/C언어] 3003번 - 킹, 퀸, 룩, 비숍, 나이트, 폰 (0) | 2022.12.15 |