한 줄 요약 :
알파벳이 들어있는 문자열의 범위를 나누어 범위 안에 해당하는 시간을 더해준다.
풀이 :
1. 26자 알파벳이 들어있는 문자열을 만든다.
char Alphabet[27] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
2. 15자 이내 의 단어를 입력받는다.
단어 길이는 2이상 15이하이다.
char Word[16]; cin >> Word;
3. 시간을 입력받을 정수 time을 입력한다.
int time = 0;
4. 단어를 한 글자씩 비교해줄 while문을 만든다.
while (Word[i] != 0)
5. 단어의 글자 하나마다 알파벳 차례대로 비교해줄 문을 만든다.
3번의 while문 안에 작성한다.
for (int j = 0; j < 27; j++)
6. 단어 안의 문자에 해당하는 알파벳이 나올 때, 시간을 더해줄 if-else문을 만든다.
if-else문으로 시간을 더하면 단어의 다음 문자로 넘어가야한다.
if (Alphabet[j] == Word[i]) { if (j <= 2) // ABC time = time + 3; else if (j >= 3 and j <= 5) // DEF time = time + 4; else if (j >= 6 and j <= 8) // GHI time = time + 5; else if (j >= 9 and j <= 11) // JKL time = time + 6; else if (j >= 12 and j <= 14) // MNO time = time + 7; else if (j >= 15 and j <= 18) // PQRS time = time + 8; else if (j >= 19 and j <= 21) // TUV time = time + 9; else if (j >= 22 and j <= 25) // WXYZ time = time + 10; i++; break; }
7. time을 출력한다.
cout << time;
(backtick)(int time)
<C++ code>
#include <iostream>
using namespace std;
int main()
{
char Alphabet[27] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
char Word[16];
cin >> Word;
int time = 0;
int i = 0;
while (Word[i] != 0)
{
for (int j = 0; j < 27; j++)
{
if (Alphabet[j] == Word[i])
{
if (j <= 2) // ABC
time = time + 3;
else if (j >= 3 and j <= 5) // DEF
time = time + 4;
else if (j >= 6 and j <= 8) // GHI
time = time + 5;
else if (j >= 9 and j <= 11) // JKL
time = time + 6;
else if (j >= 12 and j <= 14) // MNO
time = time + 7;
else if (j >= 15 and j <= 18) // PQRS
time = time + 8;
else if (j >= 19 and j <= 21) // TUV
time = time + 9;
else if (j >= 22 and j <= 25) // WXYZ
time = time + 10;
i++;
break;
}
}
}
cout << time;
}