티스토리 뷰
문제
중복 원소 개수 세는 문제
input이 ascending order로 되어있어서 set의 find에 걸리는 logN시간이 낭비같아서 N개의 input 배열에 대해서 index 두개 두고 하려니 상당히 overhead가 많다(물론 const겠지만) 그리고 솔직히 귀찮다. 코드는 다음과 같다.
#include<iostream>
#include<set>
using namespace std;
int main() {
//N+MlgN solution
int N, M,temp,sum;
while (cin >> N >> M) {
if (N == 0 && M == 0) break;
sum = 0;
set<int> catalogs;
for (int i = 0; i < N; i++) {
cin >> temp;
catalogs.insert(temp);
}
for (int j = 0; j < M; j++) {
cin >> temp;
if (catalogs.find(temp) != catalogs.end()) ++sum;
}
cout << sum<<endl;
}
return 0;
}
'기초 알고리즘 문제 풀이' 카테고리의 다른 글
27. UVa-10954 Add all //Greedy (0) | 2020.02.24 |
---|---|
26. Uva-1203 Argus //Priority Queue & 비교연산자의 특수화 (0) | 2020.02.23 |
24. Uva-11136 Hoax or what //overflow (0) | 2020.02.23 |
23. UVa-978 Lemmings Battle! //multiset (0) | 2020.02.23 |
22. UVa-11572 Unique Snowflakes (0) | 2020.02.22 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 컴퓨터 과학
- 이미지처리
- 인덱스 이미지
- 딥러닝
- 머신러닝
- Neural Network
- 자연어 처리
- CS
- 사진구조
- Logistic Regression
- RGB이미지
- Andrew ng
- 매트랩 함수
- ML
- 머신 러닝
- 컴퓨터과학
- 밑바닥부터 시작하는 딥러닝
- 연속 신호
- 순환 신경망
- 영상구조
- 신경망
- 이미지
- 영상처리
- 이산 신호
- rnn
- 매트랩
- gradient descent
- NLP
- CNN
- 신호 및 시스템
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함