매일 조금씩

백준 5622번: 다이얼 본문

알고리즘

백준 5622번: 다이얼

mezo 2020. 1. 18. 19:33
728x90
반응형

 

 

 

 

switch case문을 사용하여 알파벳에 따른 숫자를 리턴하는 함수를 정의함

 

#include <iostream>
#include <string>

using namespace std;


int dial(char c) {
	
	int num;

	switch (c) {
	case 'A':
	case 'B':
	case 'C':
		num = 3;
		break;

	case 'D':
	case 'E':
	case 'F':
		num = 4;
		break;

	case 'G':
	case 'H':
	case 'I':
		num = 5;
		break;

	case 'J':
	case 'K':
	case 'L':
		num = 6;
		break;

	case 'M':
	case 'N':
	case 'O':
		num = 7;
		break;

	case 'P':
	case 'Q':
	case 'R':
	case 'S':
		num = 8;
		break;

	case 'T':
	case 'U':
	case 'V':
		num = 9;
		break;

	case 'W':
	case 'X':
	case 'Y':
	case 'Z':
		num = 10;
		break;

	default:
		break;
	}
	return num;
}

int main(void) {
	ios_base::sync_with_stdio(0);
	cin.tie(0);

	string str;
	cin >> str;

	int sum = 0;
	for (int i = 0; i < str.size(); i++) {
		if (str[i] == 0)
			sum += 11;
		else if (str[i] == 1)
			sum += 2;
		else
			sum += dial(str[i]);
	}


	cout << sum << endl;

	return 0;
}

 

728x90
반응형

'알고리즘' 카테고리의 다른 글

백준 2857번: FBI  (0) 2020.01.18
백준 10808번: 알바벳 개수  (0) 2020.01.18
백준 2953번: 나는 요리사다  (0) 2019.12.15
[C++] 백준 2823번: 유턴 싫어  (0) 2019.12.08
[C++] 백준 2847번: 게임을 만든 동준이  (0) 2019.12.07