[백준/C++] 5622번: 다이얼

꿈별·2022년 11월 13일
0

문제풀이

목록 보기
7/52

문제


풀이

  • 알파벳 별로 수를 더하는 조건문을 설정해 출력했다.
#include <iostream>
using namespace std;

int main(void) {
	string S;
	int sec=0;
	cin >> S;

	for (int i = 0; i < S.length(); i++)
	{
		if (S[i] == 'A' || S[i] == 'B' || S[i] == 'C')
			sec += 3;
		else if (S[i] == 'D' || S[i] == 'E' || S[i] == 'F')
			sec += 4;
		else if (S[i] == 'G' || S[i] == 'H' || S[i] == 'I')
			sec += 5;
		else if (S[i] == 'J' || S[i] == 'K' || S[i] == 'L')
			sec += 6;
		else if (S[i] == 'M' || S[i] == 'N' || S[i] == 'O')
			sec += 7;
		else if (S[i] == 'P' ||S[i] ==  'Q' || S[i] == 'R'|| S[i] == 'S')
			sec += 8;
		else if (S[i] == 'T' || S[i] == 'U' || S[i] == 'V')
			sec += 9;
		else if (S[i] == 'W' || S[i] == 'X' || S[i] == 'Y'|| S[i] == 'Z')
			sec += 10;
	}

	cout << sec;
}

참고

  • 논리 연산자를 사용해 if 조건문에 조건식을 여러개 지정할 때,
    각 조건식을 온전히 작성해야 한다.
    ❗ if (S[i] == 'A' || S[i] == 'B' || S[i] == 'C') (O)
    ❗ if (S[i] == 'A' ||'B'||'C') (X)
    👉 https://arainablog.tistory.com/136
    -> or 연산자는 bool 타입 연산자이지, 비교 연산자가 아니기 때문에 0이 아닌 값들을 모두 True로 인식해서 생긴 문제

0개의 댓글