백준/백준 단계별 문제풀이

백준 5622번 (C++)

FDEE 2020. 8. 22. 22:22

www.acmicpc.net/problem/5622

 

5622번: 다이얼

문제 상근이의 할머니는 아래 그림과 같이 오래된 다이얼 전화기를 사용한다. 전화를 걸고 싶은 번호가 있다면, 숫자를 하나를 누른 다음에 금속 핀이 있는 곳 까지 시계방향으로 돌려야 한다. �

www.acmicpc.net

 

<답안>

#include <iostream>

using namespace std;

int main() {

    //문자열 입력 -> 문자나누기 -> 해당되는 시간초 증가

    string input;

    int count = 0;

    char temp;

    

    cin>>input;

    for(int i=0; i<input.size(); i++)

    {

        temp = input.at(i);

        switch(temp)

        {

            case 'A':

            case 'B':

            case 'C':

                count += 3;

                break;

            case 'D':

            case 'E':

            case 'F':

                count += 4;

                break;

            case 'G':

            case 'H':

            case 'I':

                count += 5;

                break;

            case 'J':

            case 'K':

            case 'L':

                count += 6;

                break;

            case 'M':

            case 'N':

            case 'O':

                count += 7;

                break;

            case 'P':

            case 'Q':

            case 'R':

            case 'S':

                count += 8;

                break;

            case 'T':

            case 'U':

            case 'V':

                count += 9;

                break;

            case 'W':

            case 'X':

            case 'Y':

            case 'Z':

                count += 10;

                break;

        }

    }

    cout<<count;

    return 0;

}

 

<설명>

string 형태의 input으로 입력받아 저장한다

인덱스 i=0 부터 size()-1까지 증가시키면서

인덱스에 해당되는 글자의 case에 따라 count를 누적시킨다

누적시키는 값은 ABC : 2초 부터 시작하여 버튼마다 1초차이가 난다

 

최종 누적된 count를 출력한다

 

'백준 > 백준 단계별 문제풀이' 카테고리의 다른 글

백준 1316번 (C++)  (0) 2020.08.23
백준 2941번 (C++)  (0) 2020.08.23
백준 2908번 (C++)  (0) 2020.08.22
백준 1152번 (C++)  (0) 2020.08.22
백준 1157번 (C++)  (0) 2020.08.22