1. 문제 링크

 

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

 

10807번: 개수 세기

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

www.acmicpc.net

 

 

 

2. 문제 설명

N개의 정수를 입력받은 후, 찾으려고 하는 정수 v가 몇 개인지 출력하는 문제입니다.

 

 

 

3. 소스코드

BOJ 10807번 개수 세기 C++ 풀이입니다.

#include <iostream>
using namespace std;

int main(void)
{
	ios::sync_with_stdio(0);
	cin.tie(0); cout.tie(0);

	int N, num, v;
	int arr[201] = {};
	cin >> N;

	for (int i = 0; i < N; i++) {
		cin >> num;
		arr[num + 100]++;
	}
	cin >> v;
	cout << arr[v + 100];

	return 0;
}

입력으로 주어지는 정수와 v는 -100보다 크거나 같고, 100보다 작거나 같으므로

10번 라인에서 arr[201]로 선언 후 0으로 초기화 했습니다.

배열의 인덱스는 0부터 시작하므로 -100일 때 0번 인덱스에 저장하기 위해서 15번 라인처럼 +100을 해줍니다.

마찬가지로 출력할 때도 18번 라인처럼 +100을 해주면 됩니다.

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

[백준 11328번 C++] Strfry  (0) 2020.05.13
[백준 1406번 C++] 에디터  (0) 2020.05.13
[백준 10808번 C++] 알파벳 개수  (0) 2020.05.12
[백준 2446번 C++] 별 찍기 - 9  (0) 2020.04.30
[백준 2445번 C++] 별 찍기 - 8  (0) 2020.04.30

+ Recent posts