개발자 톡
연습문제 톡
[21년 재직자 대회 예선] 전광판
c언어 풀이 공유합니다~
- 등록일
- 2025-02-07 21:56:35
- 조회수
- 52
- 작성자
- bumi95
#include <stdio.h> #include <stdlib.h> int num[10][7] = { {1, 1, 1, 1, 1, 1, 0}, // 0 {0, 1, 1, 0, 0, 0, 0}, // 1 {1, 1, 0, 1, 1, 0, 1}, // 2 {1, 1, 1, 1, 0, 0, 1}, // 3 {0, 1, 1, 0, 0, 1, 1}, // 4 {1, 0, 1, 1, 0, 1, 1}, // 5 {1, 0, 1, 1, 1, 1, 1}, // 6 {1, 1, 1, 0, 0, 1, 0}, // 7 {1, 1, 1, 1, 1, 1, 1}, // 8 {1, 1, 1, 1, 0, 1, 1} // 9 }; int cal(int a, int b) { int mod_a, mod_b, sum = 0; while(a != 0 || b != 0) { mod_a = a % 10; a = a / 10; mod_b = b % 10; b = b / 10; if (a == 0 && mod_a == 0) { for (int i=0; i<7; i++) sum += num[mod_b][i]; } else if (b == 0 && mod_b == 0) { for (int i=0; i<7; i++) sum += num[mod_a][i]; } else { for (int i=0; i<7; i++) sum += abs(num[mod_b][i] - num[mod_a][i]); } } return sum; } int main(void) { int T; int A, B; scanf("%d", &T); for (int i=0; i<T; i++) { scanf("%d %d", &A, &B); printf("%d\n", cal(A, B)); } return 0; }
전구가 켜져 있는 곳은 1, 꺼져 있는 곳은 0으로 판단해서 위에서부터 시계 방향, 마지막은 가운데 전구로 설정해서 숫자 별 2차원 배열을 만들었습니다.
#[21년_재직자_대회_예선]_전광판
#c