[BaekJoon] 백준 13414번 수강신청
문제: https://www.acmicpc.net/problem/13414
내코드
- 처음에 list를 사용해서 풀었더니 시간초과가 났다.
- vector로 학번들을 저장해두고, set으로 중복여부를 판단한다.
#include <string.h>
#include <iostream>
#include <vector>
#include <set>
using namespace std;
int main(void) {
ios::sync_with_stdio(false);
cin.tie(0);
int maxP, click; cin >> maxP >> click;
vector<string> li;
vector<string> result;
set<string> s;
for (int i=0;i < click; i++) {
string tmp; cin >> tmp;
li.push_back(tmp);
}
for (int i = click - 1; i >= 0; --i) {
string tmp = li[i];
if (s.find(tmp) == s.end()) {
s.insert(tmp);
result.push_back(tmp);
}
}
int size = result.size();
for (int i = size - 1; i >= size - maxP && i >= 0; --i)
cout << result[i] << "\n";
return 0;
}
참고
728x90
반응형
'CS > Algorithm 문제' 카테고리의 다른 글
[BaekJoon] 백준 9202번 Boggle (0) | 2020.05.03 |
---|---|
[BaekJoon] 백준 2014번 소수의 곱 (0) | 2020.05.03 |
[BaekJoon] 백준 1978번 소수 찾기 (0) | 2020.05.03 |
[BaekJoon] 백준 2869번 달팽이는 올라가고 싶다 (0) | 2020.05.02 |
[BaekJoon] 백준 10809번 알파벳 찾기 (0) | 2020.05.02 |