[C]백준 5622번 - 다이얼 -

1176 단어 백준C알고리즘C

문제

코드

#include <stdio.h>
#include <string.h>

int main(void) {
	char  s[16];
	char list[10][4];
	int second = 0, tempC = 'A';
	// 다이얼 문자 list 작성
	for (int i = 2; i < 10; i++) {
		if (i != 7 && i != 9) {
			for (int j = 0; j < 3; j++) {
				list[i][j] = tempC;
				tempC++;
			}
		}
		else{
			for (int j = 0; j < 4; j++) {
				list[i][j] = tempC;
				tempC++;
			}
		}
	}
	// 단어 입력
	scanf("%s", s);
	int s_str = (int)strlen(s);
	//계산
	for (int i = 0; i < s_str; i++) {
		for (int h = 2; h < 10; h++) { //2-9
			for (int w = 0; w < 4; w++) {
				if (s[i] == list[h][w]) { // 문자와 다이얼 문자가 같을 때
					second += h + 1;
				}
			}
		}
	}
	printf("%d", second);
}

여담

이차원 배열을 배웠기에 이차원 배열을 활용하여 문제를 풀어보았다.

좋은 웹페이지 즐겨찾기