문제 링크입니다: https://www.acmicpc.net/problem/14210
문자열 탐색 및 구현 문제였습니다.
14209번과 마찬가지로 꽤나 쉬운 문제였습니다.
#include <iostream>
#include <string>
#include <vector>
using namespace std;
string keyboard[4] = { "***ABCDE", "FGHIJKLM", "NOPQRSTU", "VWXYZ***" };
string destination[50];
int main(void)
{
ios_base::sync_with_stdio(0);
cin.tie(0);
int N;
cin >> N;
for (int i = 0; i < N; i++)
cin >> destination[i];
string input;
cin >> input;
vector<char> possible;
//앞에 부분문자열이 input인 단어들을 찾고
//input 다음에 나오는 문자들을 벡터에 추가
for (int i = 0; i < N; i++)
{
bool same = true;
for(int j=0; j<input.size(); j++)
if (destination[i][j] != input[j])
{
same = false;
break;
}
if(same)
possible.push_back(destination[i][input.size()]);
}
//키보드를 순회하면서
for (int i = 0; i < 4; i++)
{
for (int j = 0; j < keyboard[i].size(); j++)
{
//벡터에 추가한 알파벳만 출력
bool find = false;
for (int k = 0; k < possible.size(); k++)
{
if (possible[k] == keyboard[i][j])
{
find = true;
cout << keyboard[i][j];
break;
}
}
if(!find)
cout << '*';
}
cout << "\n";
}
return 0;
}
개발환경:Visual Studio 2017
지적, 조언, 질문 환영입니다! 댓글 남겨주세요~
'알고리즘 > BOJ' 카테고리의 다른 글
백준 15955번 부스터 (0) | 2018.08.19 |
---|---|
백준 14211번 Kas (0) | 2018.08.19 |
백준 14209번 Bridž (0) | 2018.08.19 |
백준 15612번 Cube Bits (0) | 2018.08.15 |
백준 8112번 0과 1 - 2 (0) | 2018.08.14 |