[c/c++] ๋ฐฑ์ค€ 10816(Silver 4)

์€๋™ยท2023๋…„ 1์›” 14์ผ
0

Baekjoon

๋ชฉ๋ก ๋ณด๊ธฐ
3/49

๐Ÿ”จ ๋ฌธ์ œ

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

<์š”์•ฝ>
์ˆซ์ž ์นด๋“œ๋Š” ์ •์ˆ˜ ํ•˜๋‚˜๊ฐ€ ์ ํ˜€์ ธ ์žˆ๋Š” ์นด๋“œ์ด๋‹ค. ์ƒ๊ทผ์ด๋Š” ์ˆซ์ž ์นด๋“œ N๊ฐœ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์ •์ˆ˜ M๊ฐœ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ด ์ˆ˜๊ฐ€ ์ ํ˜€์žˆ๋Š” ์ˆซ์ž ์นด๋“œ๋ฅผ ์ƒ๊ทผ์ด๊ฐ€ ๋ช‡ ๊ฐœ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”์ง€ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.


๐Ÿ”จ ํ•ด๊ฒฐ๋ฐฉ๋ฒ•

  1. ๋ฒกํ„ฐ๋ฅผ ์ด์šฉํ•ด ๊ฐ’์„ ์ž…๋ ฅ ๋ฐ›๊ณ  sort (์ด์ง„ ํƒ์ƒ‰ ํ•ด์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ)

  2. algorithm ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ lower_bound์™€ upper_bound๋ฅผ ์ด์šฉ

lower_bound, upper_bound โ“

c++์—์„œ๋Š” binary_searchํ•จ์ˆ˜์™€ ํ•จ๊ป˜ lower_bound, upper_boundํ•จ์ˆ˜๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

  • ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ๋œ ์ž๋ฃŒ์—์„œ ํŠน์ •ํ•œ ์ˆซ์ž๊ฐ€ ๋ช‡ ๋ฒˆ ๋‚˜์˜ค๋Š”์ง€ ํƒ์ƒ‰ํ•˜๊ณ ์ž ํ•  ๋•Œ ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

  • upper_bound : ์ฐพ์œผ๋ ค๋Š” key๊ฐ’๋ณด๋‹ค ์ดˆ๊ณผํ•˜๋Š” ์ˆซ์ž๊ฐ€ ๋ช‡ ๋ฒˆ์งธ์—์„œ ์ฒ˜์Œ ๋“ฑ์žฅํ•˜๋Š”์ง€ ์ฐพ๊ธฐ ์œ„ํ•จ

  • lower_bound : ์ฐพ์œผ๋ ค๋Š” key๊ฐ’๋ณด๋‹ค ๊ฐ™๊ฑฐ๋‚˜ ํฐ ์ˆซ์ž๊ฐ€ ๋ช‡ ๋ฒˆ์งธ์—์„œ ์ฒ˜์Œ ๋“ฑ์žฅํ•˜๋Š”์ง€ ์ฐพ๊ธฐ ์œ„ํ•จ

    ์‚ฌ์šฉ ๋ฐฉ๋ฒ• - lower_bound(์‹œ์ž‘ ์ง€์ , ๋ ์ง€์ , ์ฐพ๋Š” ๊ฐ’)


ex. ๋ฒกํ„ฐ v์—์„œ 4๊ฐ€ ๋ช‡ ๊ฐœ ์žˆ๋Š”์ง€ ์ฐพ์•„๋ด๋ผ

vector <int> v = {1,2,3,4,4,4,6,6,7};
cout << "number of 4 : " << upper_bound(v.begin(), v.end(), 4) 
           - lower_bound(v.begin(), v.end(), 4); 

์ถœ๋ ฅ๊ฒฐ๊ณผ๋Š” 3 ์ด ๋‚˜์˜จ๋‹ค.
4๋ณด๋‹ค ํฐ ์ˆซ์ž๊ฐ€ ๋‚˜์˜ค๋Š” ์œ„์น˜(index = 6) - 4์ด์ƒ์˜ ์ˆซ์ž๊ฐ€ ์ฒ˜์Œ์œผ๋กœ ๋‚˜์˜ค๋Š” ์œ„์น˜(index = 3)


๐Ÿ”จ ์ฝ”๋“œ

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

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

	int n;
	cin >> n;
	vector <int> v;

	for (int i = 0; i < n; i++) {
		int num;
		cin >> num;
		v.push_back(num);
	}
	sort(v.begin(), v.end());

	int m;
	cin >> m;
	for (int i = 0; i < m; i++) {
		int num;
		cin >> num;
		cout << upper_bound(v.begin(), v.end(), num) - lower_bound(v.begin(), v.end(), num) << ' ';

	}
	return 0;
}
profile
์ž์ž ์„ ์ˆ˜์ž…์žฅ~

0๊ฐœ์˜ ๋Œ“๊ธ€