본문 바로가기
문제 해결/BaekJoon

[백준] [C++] 10807번 개수 세기

by WSLim_97 2023. 1. 6.
반응형

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

 

10807번: 개수 세기

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

www.acmicpc.net


코드

#include <iostream>
using namespace std;

int main()
{
	int n, v, arr[201] = { }, input;
	cin >> n;

	for (int i = 0; i < n; i++)
	{
		cin >> input;
		if (input < 0)
			input = ((-1) * input) + 100;
		arr[input]++;
	}

	cin >> v;
	if (v < 0)
		v = ((-1) * v) + 100;

	cout << arr[v] << endl;

	return 0;
}

풀이

총 n개의 정수가 주어졌을 때 정수 v가 몇 개인지 구하는 문제이다.

 

찾고자 하는 정수 v의 범위가 -100 ~ +100 이기 때문에 정수를 저장할 때 음수를 저장하는 방법이 필요했다.

 

그래서 음수가 입력되면 배열의 101번째 인덱스부터 차례대로 저장되도록 하였다.

반응형