본문 바로가기
C#/C# : Baekjoon

[백준] C# : 다이얼(5622번)

by TODAYCODE 2021. 11. 10.
반응형

백준 단계별로 풀어보기 7단계 8번문제

 

5622번: 다이얼

첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어의 길이는 2보다 크거나 같고, 15보다 작거나 같다.

www.acmicpc.net

문제의 핵심

1. 특정 범위에 따라서 적절한 값을 넣어주기

2. int형 말고도 다른 형식으로도 문법을 사용하기


 

갑자기 그림이 나타나서 당황스러울수도 있으나 문제만 놓고 본다면 쉬운편이다.

사실, for문이나 여러가지 문법들은 대부분 int형을 가지고 쓰기 때문에

간혹 int형으로만 사용할 수 있다고 착각하거나 아니면

아예 이 부분에 대해서 생각 자체를 안해보는 사람들이 있다.

 

문법에 형식을 다양하게 사용할수록 활용도가 늘어나므로 참고하도록 하자.

이번 문제로 char형을 사용하는 것으로 손쉽게 해결 할 수 있다.

 

각 문자별로 입력에 필요한 시간이 있으므로 그것에 맞게 스위치문을 만들어줬다.

char형으로 문자하나를 입력해도 정상적으로 작동한다.

반복문을 돌려서 문자열을 하나씩 확인하면서 문자에 따라서 값을 계속 더해주고

마지막에 총합을 출력하면 간단하게 풀 수 있다.

 

 

정답 코드

using System;

class 다이얼
{
    static void Main()
    {
        string str = Console.ReadLine();
        Console.WriteLine(Test(str));
    }
        
    static int Test(string s)
    {
        int sum = 0;
        for (int i = 0; i < s.Length; i++)
        {
            switch (s[i])
            {
                case <= 'C':
                    sum += 3;
                    break;
                case <= 'F':
                    sum += 4;
                    break;
                case <= 'I':
                    sum += 5;
                    break;
                case <= 'L':
                    sum += 6;
                    break;
                case <= 'O':
                    sum += 7;
                    break;
                case <= 'S':
                    sum += 8;
                    break;
                case <= 'V':
                    sum += 9;
                    break;
                case <= 'Z':
                    sum += 10;
                    break;
            }
        }
        return sum;
    }
}
반응형

댓글