728x90
https://www.acmicpc.net/problem/10816
문제 풀이
숫자 카드의 개수를 구하는 문제이다.
map을 구현하면 아주 쉽게 풀 수 있다.
느낀 점
다른 분들은 lower bound와 upper bound로 풀었다. C++ STL에서 지원하기 때문에 아주 쉽게 풀 수도 있다. 나는 보자마자 생각난 게 map이어서 그냥 map으로 풀었다!
코드
#include <iostream>
#include <map>
using namespace std;
int N, M, tmp;
map<int, int> m;
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
cin >> N;
for (int i = 0; i < N; i++) {
cin >> tmp;
if (m.count(tmp)) m.find(tmp)->second++;
else m.insert(make_pair(tmp,1));
}
cin >> M;
for (int i = 0; i < M;i++) {
cin >> tmp;
if (m.count(tmp)) {
cout << m.find(tmp)->second << "\n";
}
else cout << 0 << "\n";
}
}
'문제 풀이 > 백준(BOJ)' 카테고리의 다른 글
[C++] 백준 2805번 : 나무 자르기 (0) | 2021.08.05 |
---|---|
[C++] 백준 1654번 : 랜선 자르기 (0) | 2021.08.05 |
[C++] 백준 1920번 : 수 찾기 (0) | 2021.08.03 |
[C++] 백준 2740번 : 행렬 곱셈 (0) | 2021.07.30 |
[C++] 백준 11401번 : 이항 계수 3 (0) | 2021.07.30 |
댓글