알고리즘/BOJ

[c/c++] BOJ 10807번 문제 - 개수 세기

wonjun.Aden 2022. 2. 20. 18:47

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

 

10807번: 개수 세기

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

www.acmicpc.net

문제

문제 풀이

#include <bits/stdc++.h>
using namespace std;

//총 N개의 정수가 주어졌을 때, 정수 V가 몇 개인지 구하는 프로그램을 작성하시오.
int main(){
    int n;
    int v;
    int arr[201];
    cin >> n;
    fill(arr,arr+201,0);
    for(int i=0;i<n;i++){
        int x;

        cin >> x;
        arr[x+100]++;
    }
    cin >> v;

    cout << arr[v+100];

}

 

문제의 포인트

  • v의 범위는 -100 ~ 100까지입니다.
  • 그렇기 때문에 저는 100을 더한 0~200까지로 배열을 두어 문제를 해결하였습니다.
  • 음수는 0~99까지 0은 100 1~100까지는 101~200까지로 생각하여 arr[x+100]으로 설정하여 문제를 해결하였습니다.
반응형