https://www.acmicpc.net/problem/1764
๋ฌธ์
๊น์ง์์ด ๋ฃ๋ ๋ชปํ ์ฌ๋์ ๋ช ๋จ๊ณผ, ๋ณด๋ ๋ชปํ ์ฌ๋์ ๋ช ๋จ์ด ์ฃผ์ด์ง ๋, ๋ฃ๋ ๋ณด๋ ๋ชปํ ์ฌ๋์ ๋ช ๋จ์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ๋ฃ๋ ๋ชปํ ์ฌ๋์ ์ N, ๋ณด๋ ๋ชปํ ์ฌ๋์ ์ M์ด ์ฃผ์ด์ง๋ค. ์ด์ด์ ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์ ๊ฑธ์ณ ๋ฃ๋ ๋ชปํ ์ฌ๋์ ์ด๋ฆ๊ณผ, N+2์งธ ์ค๋ถํฐ ๋ณด๋ ๋ชปํ ์ฌ๋์ ์ด๋ฆ์ด ์์๋๋ก ์ฃผ์ด์ง๋ค. ์ด๋ฆ์ ๋์ด์ฐ๊ธฐ ์์ด ์ํ๋ฒณ ์๋ฌธ์๋ก๋ง ์ด๋ฃจ์ด์ง๋ฉฐ, ๊ทธ ๊ธธ์ด๋ 20 ์ดํ์ด๋ค. N, M์ 500,000 ์ดํ์ ์์ฐ์์ด๋ค.
๋ฃ๋ ๋ชปํ ์ฌ๋์ ๋ช ๋จ์๋ ์ค๋ณต๋๋ ์ด๋ฆ์ด ์์ผ๋ฉฐ, ๋ณด๋ ๋ชปํ ์ฌ๋์ ๋ช ๋จ๋ ๋ง์ฐฌ๊ฐ์ง์ด๋ค.
์ถ๋ ฅ
๋ฃ๋ณด์ก์ ์์ ๊ทธ ๋ช ๋จ์ ์ฌ์ ์์ผ๋ก ์ถ๋ ฅํ๋ค.
ํ์ด
์๋ฃ๊ตฌ์กฐ Set(์งํฉ) ์ ์ด์ฉํ๋ฉด ๋น๊ต์ ์ฌ์ด ํ์ด๊ฐ ๊ฐ๋ฅํ๋ค
13%์์ ํ๋ ธ์ต๋๋ค ๊ฐ ๋ฌ๋ค๋ฉด ์ถ๋ ฅ์กฐ๊ฑด (์ฌ์ ์์ผ๋ก ์ถ๋ ฅ)์ ์ง์ผฐ๋์ง ํ์ธํด๋ณด์
#include <iostream>
#include <vector>
#include <set>
#include <algorithm>
using namespace std;
int main() {
set<string> s;
vector<string> v;
int n, m;
cin >> n >> m;
string input;
while(n--) {
cin >> input;
s.insert(input);
}
while(m--) {
cin >> input;
if(s.find(input) != s.end())
v.push_back(input);
}
sort(v.begin(), v.end());
cout << v.size() << "\n";
for(string i : v)
cout << i << "\n";
}
'๐ BOJ > Class 3' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ][C++] ๋ฐฑ์ค 9461๋ฒ: ํ๋๋ฐ ์์ด (0) | 2023.03.27 |
---|---|
[BOJ][C++] ๋ฐฑ์ค 1260๋ฒ: DFS์ BFS (0) | 2023.03.24 |
[BOJ][C++] ๋ฐฑ์ค 11724๋ฒ: ์ฐ๊ฒฐ ์์์ ๊ฐ์ (0) | 2023.03.01 |
[BOJ][C++] ๋ฐฑ์ค 11726๋ฒ: 2xn ํ์ผ๋ง (0) | 2023.02.23 |
[BOJ][C++] ๋ฐฑ์ค 2606๋ฒ: ๋ฐ์ด๋ฌ์ค (0) | 2023.02.13 |