모름

규칙에 따라 문자에 대응하는 수를 출력하는 문제입니다.

 

 

 

목표

 

할머니는 전화번호를 문자로 기억합니다. 즉 어떤 단어를 생각하고 각 알파벳에 해당하는 숫자를 걸면됩니다. 또한 할머니는 숫자 1을 돌리는데 2초가 소요됩니다. 그리고 2번부터 차례대로 1초씩 더 걸립니다.

 

할머니가 외운 단어가 주어졌을 때, 이 전화를 걸기 위해서 필요한 시간은 몇 초일까요.

 

 

 

입력과 출력

 

입력

알파벳 대문자로 이루어진 단어가 주어집니다.

 

출력

다이얼을 걸기 위해서 필요한 시간을 출력합니다.

 

 

 

예제 입력과 출력

 

입력

UNUCIC

 

출력

36

 

 


 

풀이

 

1) 대문자로 된 단어를 입력받습니다.

2) 단어에 해당하는 숫자를 확인하고 숫자로 변환합니다.

3) 숫자로 변환시키면서 해당 숫자에 걸리는 초를 계속 더합니다.

4) 더해진 시간을 출력합니다.

 

 

 

코드

 

1) 대문자로 된 단어를 입력받습니다.

string input = Console.ReadLine();
char[] words = input.ToCharArray();

 

 

 

2) 단어에 해당하는 숫자를 확인하고 숫자로 변환합니다.

static int CapitalToNum(char capital)
{
    if (capital >= 'A' && capital <= 'C')
        return 2;
    else if (capital >= 'D' && capital <= 'F')
        return 3;
    else if (capital >= 'G' && capital <= 'I')
        return 4;
    else if (capital >= 'J' && capital <= 'L')
        return 5;
    else if (capital >= 'M' && capital <= 'O')
        return 6;
    else if (capital >= 'P' && capital <= 'S')
        return 7;
    else if (capital >= 'T' && capital <= 'V')
        return 8;
    else if (capital >= 'W' && capital <= 'Z')
        return 9;
    else
        return 0;
}

 

 

 

3) 숫자로 변환시키면서 해당 숫자에 걸리는 초를 계속 더합니다.

int sumTime = 0;

for (int i = 0; i < words.Length; i++)
{
    int a = CapitalToNum(words[i]);
    sumTime += (a + 1);
}

 

 

 

4) 더해진 시간을 출력합니다.

Console.WriteLine(sumTime);

 

 

 

 

정상출력됩니다.

 

 

 

코드 전문 보기

...더보기
class Program {
    static void Main(string[] args)
    {
        string input = Console.ReadLine();
        char[] words = input.ToCharArray();

        int sumTime = 0;

        for (int i = 0; i < words.Length; i++)
        {
            int a = CapitalToNum(words[i]);
            sumTime += (a + 1);
        }

        Console.WriteLine(sumTime);
    }

    static int CapitalToNum(char capital)
    {
        if (capital >= 'A' && capital <= 'C')
            return 2;
        else if (capital >= 'D' && capital <= 'F')
            return 3;
        else if (capital >= 'G' && capital <= 'I')
            return 4;
        else if (capital >= 'J' && capital <= 'L')
            return 5;
        else if (capital >= 'M' && capital <= 'O')
            return 6;
        else if (capital >= 'P' && capital <= 'S')
            return 7;
        else if (capital >= 'T' && capital <= 'V')
            return 8;
        else if (capital >= 'W' && capital <= 'Z')
            return 9;
        else
            return 0;
    }
}