#include <string>
#include <vector>
#include <algorithm>
#define MAX_NUM 987654321
using namespace std;
vector<int> solution(vector<string> keymap, vector<string> targets) {
// 1. 키보드 자판에 있는 문자들의 최소 접근 횟수를 구한다.
array<int, 26> arr;
fill(arr.begin(), arr.end(), MAX_NUM);
for(auto key : keymap) {
int cnt = 1;
for(auto ch : key) {
arr[ch-'A'] = (cnt < arr[ch-'A']) ? cnt : arr[ch-'A'];
cnt++;
}
}
// 2. 모든 문자에 대해 검사한다.
vector<int> answer;
for(auto target : targets) {
int count = 0;
for(auto ch : target) {
// 3. 모든 키패드를 다 검색했는데 해당 문자를 못 찾았으면 검색을 멈춘다.
if(arr[ch-'A'] == MAX_NUM) {
count = -1;
break;
}
count += arr[ch-'A'];
}
answer.push_back(count);
}
return answer;
}