[백준] 개수 세기 10807

Su-hyeon B·2022년 10월 24일
0

알고리즘 문제 풀이

목록 보기
24/70
post-custom-banner

문제

총 N개의 정수가 주어졌을 때, 정수 v가 몇 개인지 구하는 프로그램을 작성하시오.

입력

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

출력

첫째 줄에 입력으로 주어진 N개의 정수 중에 v가 몇 개인지 출력한다.

풀이

풀이 1

#include <bits/stdc++.h>
using namespace std;
const int SIZE=201;

int main (void){
    ios::sync_with_stdio(0);
    cin.tie(0);
    
    int n, t, v;
    cin >>n;
    
    int occurs[SIZE];
    
    for(int i=0; i<n; i++){
        cin >>t;
        occurs[t]++;
    }
    
    cin >>v;
    cout << occurs[v];
    
    
    
    return 0;
}

틀렸다!
왜??
v의 범위는 -100에서 100이다. 즉 음수도 가능하다는 이야기!

풀이 2

#include <bits/stdc++.h>
using namespace std;
const int SIZE=201;

int main (void){
    ios::sync_with_stdio(0);
    cin.tie(0);
    
    int n, t, v;
    cin >>n;
    
    int occurs[SIZE]={};
    
    for(int i=0; i<n; i++){
        cin >>t;
        occurs[t+100]++;
    }
    
    cin >>v;
    cout << occurs[v+100];
    
    
    
    return 0;
}
profile
ML/AI Engineer
post-custom-banner

0개의 댓글