[코딩테스트 C++] 듣보잡

후이재·2020년 10월 23일
0

오늘의 문제

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

듣보잡

접근 방식

  • 같은 문자를 찾는 문제이기 때문에 set을 사용했다.
  • n 만큼 저장한 후에 m만큼은 해당 문자를 찾기만 하면된다.
  • 찾으면 벡터에 저장하고 answer++한다.

나의 풀이

#include <iostream>
#include <vector>
#include <set>
#include <algorithm>
#pragma warning(disable: 4996)
using namespace std;

int n, m;

int main(){
    set<string> s;
    scanf("%d %d", &n, &m);
    string str;
    for(int j=0;j<n;j++){
        cin>>str;
        s.insert(str);
    }
    int answer = 0;
    vector<string> ans;
    for(int i=0;i<m;i++){
        cin>>str;
        if(s.find(str) != s.end()){
            answer++;
            ans.push_back(str);
        }
    }
    printf("%d\n", answer);
    sort(ans.begin(), ans.end());
    for(int i=0;i<ans.size();i++)
        cout<< ans[i]<<endl;
    return 0;
}

다른 풀이

배울 점

profile
공부를 위한 벨로그

0개의 댓글