풀이
숫자를 하나 누른 후 금속 핀이 있는 곳까지 시계 방향으로 돌려야 한다.
숫자를 하나 누르면 다이얼은 처음 위치로 돌아간다.
다음 위치를 누르려면 다이얼을 처음 위치에서 다시 돌려야 한다.
숫자 1을 걸려면 총 2초가 필요하다. (아무 숫자 누르고->1을 금속핀에)
할머니는 전화번호를 각 숫자에 해당하는 문자로 외운다.
1 :
2: ABC
3 : DEF
4 : GHI
5 : JKL
6 : MNO
7 : PQRS
8 : TUV
9 : WXYZ
0 : ?
어떤 단어를 걸 때, 각 알파벳에 해당하는 숫자를 건다.
가령 UNUCIC = 868242 이고, 이를 걸기 위해서는 각 숫자에 대해서 9+7+9+3+5+3의 시간이 걸린다.
1. 각 알파벳에 해당하는 숫자 배열
2. 숫자를 받아서, 각 숫자의 시간(수+1)을 더한다.
#include <iostream>
#include <string>
#include <vector>
#include <deque>
#include <algorithm>
using namespace std;
int retN(char C) {
int ret;
if (C == 'A' || C == 'B' || C == 'C') ret = 2;
else if (C == 'D' || C == 'E' || C == 'F') ret = 3;
else if (C == 'G' || C == 'H' || C == 'I') ret = 4;
else if (C == 'J' || C == 'K' || C == 'L') ret = 5;
else if (C == 'M' || C == 'N' || C == 'O') ret = 6;
else if (C == 'P' || C == 'Q' || C == 'R' || C == 'S') ret = 7;
else if (C == 'T' || C == 'U' || C == 'V') ret = 8;
else if (C == 'W' || C == 'X' || C == 'Y' || C == 'Z') ret = 9;
return ret;
}
int main()
{
string str;
cin >> str;
int ans = 0;
for (int i = 0; i < str.length(); i++) {
ans += (retN(str[i]) + 1);
}
cout << ans;
return 0;
}