만약에 map이 없었다면... 이걸 어떻게 풀었을까 STL을 만들어 주신 모든 분에게 감사드립니다.
#include <bits/stdc++.h>
using namespace std;
const char alphabet[10][5] = { {}, {}, {"abc"}, {"def"}, {"ghi"}, {"jkl"}, {"mno"}, {"pqrs"}, {"tuv"}, {"wxyz"} };
int main()
{
ios_base::sync_with_stdio(false), cin.tie(0);
string str;
map< char, pair<int, int> > m;
for (int i = 1, a; i <= 9; ++i) {
cin >> a;
for (int j = 0; alphabet[a][j]; ++j)
m[alphabet[a][j]] = { i, j + 1 };
}
cin >> str;
for (int i = 0, l = -1; i < (int)str.size(); ++i) {
int mF = m[str[i]].first, mS = m[str[i]].second;
if (l == mF) printf("#");
for (int j = 0; j < mS; ++j) printf("%d", mF);
l = mF;
}
return 0;
}
댓글