서두르지 말고 쉬지 말자

백준 1764 듣보잡 (C++) 본문

코딩 공부/Baekjoon Problem Solving

백준 1764 듣보잡 (C++)

philos 2025. 8. 4. 14:40

solved.ac 티어 : 실버4

문제 유형 : 자료구조, 문자열, 해시를 사용한 집합과 맵, 집합과 맵, 정렬

문제 해결 전략 : <set> 라이브러리 사용해서 해결했다. <set>은 요소 집어넣으면 알아서 정렬해줘서 정렬도 따로 해줄필요가 없다.

문제 해결 소감: STL로 푸니까 쉬움, 근데 일일히 구현해야 된다고 생각하면 아득해진다.

#include <iostream>
#include <set>
#include <string>
int n, m;
int cnt = 0;
std::string s;
std::set<std::string> s1;
std::set<std::string> s2;
std::set<std::string> ans;

int main(void) {
  std::cin >> n >> m;
  for (int i = 0; i < n; i++) {
    std::cin >> s;
    s1.insert(s);
  }
  for (int i = 0; i < m; i++) {
    std::cin >> s;
    s2.insert(s);
  }
  for (const std::string& x : s1) {
    if (s2.find(x) != s2.end()) {
      cnt++;
      ans.insert(x);
    }
  }
  std::cout << cnt << '\n';
  for (const std::string& x : ans) {
    std::cout << x << '\n';
  }
  return 0;
}
반응형