반응형
c++ string find 함수. 부분문자열 찾아서 그 인덱스 반환(true,false x)
없는 경우는 반환 값이 string::npos와 일치.
이 문제에서 문자열 최대길이는 4이므로 KMP 안쓰고 find()로 시간초과 없이 가능
만약 string 길이가 10000000000000 이런 식이면 닥 KMP ㄱㄱ
#include<iostream>
#include<string>
#include<vector>
using namespace std;
string num, str;
string temp[10] = { "","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz" };
int N;
vector<char> vec;
bool check()
{
for (int i = 0; i < num.size(); i++)
{
if (temp[num[i] - '0'].find(str[i]) == string::npos)
{
return false;
}
}
return true;
}
int main(int argc, char** argv)
{
int test_case;
int T;
cin >> T;
for (test_case = 1; test_case <= T; ++test_case)
{
cin >> num >> N;
int count = 0;
for (int i = 0; i < N; i++)
{
cin >> str;
if (check())
{
count++;
}
}
cout <<"#"<<test_case<<" "<< count << endl;
}
return 0;//정상종료시 반드시 0을 리턴해야합니다.
}
반응형
'Algorithm' 카테고리의 다른 글
백준 3019번 테트리스 (0) | 2020.07.21 |
---|---|
백준 17071번 숨바꼭질 5 (0) | 2020.07.21 |
백준 1525번 퍼즐 (0) | 2020.07.19 |
백준 7785번 회사에 있는 사람 (0) | 2020.07.19 |
백준 9935번 문자열 폭발 (0) | 2020.07.18 |