PS/Baekjoon Online Judge

[백준 1764] 듣보잡 [C/C++]

kimyoungrok 2021. 8. 6. 01:33

백준 - 1764


풀이

알고리즘은 엄청 간단하다.

N명의 이름을 입력받아서 정렬 후, M명의 이름을 입력받아 이진탐색으로 찾은 명단과 총 인원을 출력하면 된다.

하지만, 이를 C로 구현하는 것은 끔찍하다...


소스코드

#include <stdio.h>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int main(){
    int N, M, i;
    scanf("%d %d", &N, &M);
    vector<string> v1(N), v2;
    char name[21];
    for (i = 0; i < N; i++){
        scanf("%s", name);
        v1[i] = name;
    }
    sort(v1.begin(), v1.end());
	
    for (i = 0; i < M; i++) {
        scanf("%s", name);
        if (binary_search(v1.begin(), v1.end(), name))
            v2.push_back(name);
    }
 
    sort(v2.begin(), v2.end());
    printf("%d\n", v2.size());
    for (i = 0; i < v2.size(); i++)
        printf("%s\n", v2[i].c_str());
}

출처

 

1764번: 듣보잡

첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다.

www.acmicpc.net

'PS > Baekjoon Online Judge' 카테고리의 다른 글

[백준 10995] 별 찍기 - 20 [C]  (0) 2021.08.06
[백준 1557] 제곱 ㄴㄴ [C]  (2) 2021.08.06
[백준 1260] DFS와 BFS [C]  (0) 2021.08.05
[백준 2630] 색종이 만들기 [C]  (0) 2021.08.05
[백준 1026] 보물 [C]  (0) 2021.08.05