백준 5622_다이얼 [C++]
본문 바로가기
Algorithm/Python, C++

백준 5622_다이얼 [C++]

by liveloper jay 2022. 7. 10.

문제

 

 

풀이

  이 문제는 전화를 걸기위해 다이얼을 돌릴 때마다 1초씩 더 걸린다는 말을 잘 이해하지 못해 풀이에 어려움이 있었던 문제입니다. 먼저 문제 해결을 위해 각 문자에 해당하는 숫자부터 정리하겠습니다.

1 :

2 : A~C

3 : D~F

4 : G~I

5 : J~L

6 : M~O

7 : P~S

8 : T~V

9 : W~Z

 

이것을 이용하여 입력받은 값에서 알파벳이 A~C 일경우 +3, D~F일 경우 +4..... 이런식으로 입력받은 배열의 크기만큼 반복문을 수행해주면 되는 비교적 어렵지 않은 문제였습니다. 소스코드는 아래와 같습니다.

 

 

소스코드

#include <iostream>
#include <cstring>
using namespace std;

int main(){
    char dial[16];
    int cnt=0;
    cin >>dial;
    for (int i = 0; i < strlen(dial); i++)
    {
        if ('A'<=dial[i] && dial[i]<='C') cnt+=3;
        else if('D'<=dial[i] && dial[i]<='F') cnt+=4;
        else if('G'<=dial[i] && dial[i]<='I') cnt+=5;
        else if('J'<=dial[i] && dial[i]<='L') cnt+=6;
        else if('M'<=dial[i] && dial[i]<='O') cnt+=7;
        else if('P'<=dial[i] && dial[i]<='S') cnt+=8;
        else if('T'<=dial[i] && dial[i]<='V') cnt+=9;
        else if('W'<=dial[i] && dial[i]<='Z') cnt+=10;
        else return 0;
    }
    cout << cnt;
}

 

'Algorithm > Python, C++' 카테고리의 다른 글

백준 1316_그룹 단어 체커 [C++]  (0) 2022.07.12
백준 2941_크로아티아 알파벳 [C++]  (0) 2022.07.11
백준 2908_상수 [C++]  (0) 2022.07.09
백준 1157_단어 공부 [C++]  (0) 2022.07.07
백준 2675_문자열 반복 [C++]  (0) 2022.07.05

댓글