[백준 14425] 문자열 집합

도윤·2023년 6월 26일
0

알고리즘 풀이

목록 보기
28/71

🔗알고리즘 문제

간단한 map 활용 문제로 어렵지 않게 해결하였다.

문제 분석

이 문제는 문자열을 입력받고 해당 문자열이 문자열 집합에 존재하는지 아닌지 확인해주면 되는 간단한 문제이다.

발상 & 알고리즘 분석

처음에는 vector자료구조와 find()함수를 이용해 값을 찾아나가려 하였지만 for문을 진행하며 find()함수를 실행시켜주기에 시간초과 이슈를 피할 수 없었다.

key를 통하여 value를 찾는 map자료구조를 활용해 쉽게 해결할 수 있었다.

코드

#include<iostream>
#include<string>
#include<map>

using namespace std;

int main(){
    ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);

    int stringSetLenght;
    int answerLenght;
    int answer = 0;

    cin >> stringSetLenght >> answerLenght;

    map<string, int> stringSet;

    for(int i = 0; i < stringSetLenght; i++){
        string input;
        cin >> input;
        stringSet.insert({input, i});
    }

    for(int i = 0; i < answerLenght; i++){
        string input;
        cin >> input;

        if(stringSet.find(input) != stringSet.end())
            ++answer;
    } 

    cout << answer;
}
profile
Game Client Developer

0개의 댓글