문제 설명

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

 

10807번: 개수 세기

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

www.acmicpc.net

n개의 정수가 주어졌을 때, 찾으려는 정수 v가 몇 개인지 구하기

주어진 정수의 범위는 -100보다 크거나 같고, 100보다 작거나 같음

 

문제 풀이법

처음에는 문제를 제대로 못보고 배열의 범위를 100으로 해서 틀렸다

하지만 주어진 정수의 범위가 -100 ~ 100이기에 배열의 범위를 201로 잡고, 인덱스에는 음수가 들어갈 수 없으니 정수에 100씩 더해줘서 인덱싱을 해주었다

 

소스 코드

#include <iostream>

using namespace std;

int main()
{
    int arr[201] = { 0 };
    
    int n;
    cin >> n;
    
    int tmp;
    for (int i = 0; i < n; i++)
    {
        cin >> tmp;
        arr[tmp + 100]++;
    }
    cin >> tmp;
    printf("%d\n", arr[tmp + 100]);

    return 0;
}

'Algorithm Study' 카테고리의 다른 글

[백준] 11328 Strfry  (0) 2023.01.09
[백준] 13300 방 배정  (0) 2023.01.09
[백준] 3273 두 수의 합  (0) 2023.01.06
[백준] 2566 최댓값  (0) 2023.01.06
[백준] 1475 방 번호  (0) 2023.01.06
복사했습니다!