smooth waters run deep

1d-1c/BOJ

5622_다이얼 (C++)

yeon_11 2020. 8. 26. 15:56
 

5622번: 다이얼

첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어는 2글자~15글자로 이루어져 있다.

www.acmicpc.net

#include <iostream>
using namespace std;

int number(char c) {
	if (c >= 'A' && c <= 'C')
		return 2; //3초
	else if (c >= 'D' && c <= 'F')
		return 3;
	else if (c >= 'G' && c <= 'I')
		return 4;
	else if (c >= 'J' && c <= 'L')
		return 5;
	else if (c >= 'M' && c <= 'O')
		return 6;
	else if (c >= 'P' && c <= 'S')
		return 7;
	else if (c >= 'T' && c <= 'V')
		return 8;
	else if (c >= 'W' && c <= 'Z')
		return 9;
}

int main() {
	string str;
	cin >> str;

	int ans = 0;
	for (int i = 0; i < str.length(); i++) {
		ans += number(str[i])+1;
	}
	cout << ans;
	return 0;
}

 

문제에 써있는대로 코딩했더니 그냥 바로 풀렸다. 쉬웠다.

 

[문제 풀이 생각 과정]

1. 숫자 0,1은 주어진 알파벳이 없으니 생각 안해도 된다.

2. 알파벳에 해당하는 숫자를 리턴하는 함수number(char c)를 만들었다.

3. 숫자 1일 때 2초니까 - 숫자 2이면 3초이다. number(char c)에서 리턴하는 각 숫자에 +1 를 해줘서 더해주면 된다.

 

 

'1d-1c > BOJ' 카테고리의 다른 글

1316_그룹 단어 체커 (C++)  (0) 2020.08.28
2941_크로아티아 알파벳 (C++)  (0) 2020.08.26
2908_상수 (C++)  (0) 2020.08.26
1157_단어 공부 (C++)  (0) 2020.08.25
10809_알파벳 찾기 (C++)  (0) 2020.08.25