5622
5622번 문제#include
int main(void) {
int abc[26] = { 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 10, 10, 10, 10 };
// 인덱스 : 알파벳, 값 : 걸리는 시간
int c, s = 0; // c : 입력 받을 문자 s : 합계를 받을 변수
while ((c = getchar()) != '\n') // 문자 하나를 입력 받기
s += abc[c - 65]; // 받은 문자에 해당하는 시간을 합계에 추가함
printf("%d", s);
}
결과
입력 받는 문자에 따라 받는 결과로 나오는 숫자가 달라지는 문자이다. 전에 1157번 문제처럼 문자를 숫자 형식으로 받으면 그 값을 인덱스로 사용할 수 있다는 점을 이용하고자 하였다. 배열을 문자당 걸리는 시간의 값으로 선언하였다. 문자를 인덱스로, 걸리는 시간을 배열의 값으로 설정하여 합하면 답을 구할 수 있다.
'문제풀이 > C 문제풀이' 카테고리의 다른 글
2920 + getchar + 배열 비교 (0) | 2019.02.28 |
---|---|
8958 + sizeof/strlen +char/int형 선언 (0) | 2019.02.28 |
2577 (0) | 2019.02.24 |
1152 (0) | 2019.02.24 |
2941 (0) | 2019.02.17 |