baekjoon 5622

윤동환·2022년 12월 7일
0

Algorithm

목록 보기
8/54
post-thumbnail

다이얼

내가 작성한 코드

#include <iostream>
#include <string>

using namespace std;

int main() {
    string s;
    cin >> s;
    int len = s.length();
    int time = 0;
    string except = "SVYZ";
    for (int i = 0; i < len; ++i) {
        time += ((s[i] - 'A') / 3) + 3;
        if (except.find(s[i]) != string::npos)
            time -= 1;
    }
    cout << time << endl;
    return 0;
}

고려사항

다이얼 7번에 4개의 문자가 할당되어 있어 3으로 나누어 몫을 기준으로 해당 문자의 값을 정하는 방식에 문제가 생겼다.
위의 예외사항으로 인하여 7, 8, 9에 맨 마지막 글자들인 S, V, Y, Z의 다이얼 숫자로의 치환이 잘 이루어지지 않았고, 예외 발생 문자들을 모은 문자열을 만들어 예외처리를 해주었다.

profile
모르면 공부하고 알게되면 공유하는 개발자

0개의 댓글