BEAKJOON

백준(5622번 다이얼)풀이 C++

Shin_jisoo 2021. 1. 10. 18:15
728x90

www.acmicpc.net/problem/5622

 

5622번: 다이얼

첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어의 길이는 2보다 크거나 같고, 15보다 작거나 같다.

www.acmicpc.net

1) 주석 없는 VERSION

#include <stdio.h>
#include <iostream>
#include <string>
#include <stack>
#include <sstream>
using namespace std;

int main() {
	string word;
	cin >> word;
	
	int count=0;

	for (int i = 0;i < word.length();i++) {
		int n = word[i] - 65;
		if (n <= 2) {
			count += 3;
		}
		else if (n <= 5) {
			count += 4;
		}
		else if (n <= 8) {
			count += 5;
		}
		else if (n <= 11) {
			count += 6;
		}
		else if (n <= 14) {
			count += 7;
		}
		else if (n <= 18) {
			count += 8;
		}
		else if (n <= 21) {
			count += 9;
		}
		else if (n <= 25) {
			count += 10;
		}
	}

	cout << count;

}

2) 주석 있는 VERSION

#include <stdio.h>
#include <iostream>
#include <string>
#include <stack>
#include <sstream>
using namespace std;

int main() {
	string word;
	cin >> word;
	
	int count=0;

	for (int i = 0;i < word.length();i++) {
		int n = word[i] - 65;
		if (n <= 2) { // A,B,C
			count += 3; // 숫자 2는 3초
		}
		else if (n <= 5) { // D,E,F
			count += 4; // 숫자 3는 4초
		}
		else if (n <= 8) { // G,H,I
			count += 5; // 숫자 4는 5초
		}
		else if (n <= 11) { // J,K,L
			count += 6; // 숫자 5는 6초
		}
		else if (n <= 14) { // M,N,O
			count += 7; // 숫자 6는 7초
		}
		else if (n <= 18) { // P,Q,R,S
			count += 8; // 숫자 7는 8초
		}
		else if (n <= 21) { // T,U,V
			count += 9; // 숫자 8는 9초
		}
		else if (n <= 25) { // W,X,Y,Z
			count += 10; // 숫자 9는 10초
		}
	}

	cout << count;

}