Koala - 2기/C반
백준 11170번 0의 개수 // 송수헌
SuuuuuuuuuHeon
2021. 1. 14. 22:29
문제
N부터 M까지의 수들을 종이에 적었을 때 종이에 적힌 0들을 세는 프로그램을 작성하라.
예를 들어, N, M이 각각 0, 10일 때 0을 세면 0에 하나, 10에 하나가 있으므로 답은 2이다.
풀이
더보기
N,M 을 입력받아 N 부터 M까지 하나하나씩 0의 개수를 센다 . cnt =0
find_zero 함수를 만들어 num을 10으로 나눈 나머지가 0이면 0의 개수를 하나 추가한다.
num 을 10으로 나누는 과정을 반복하여 위와 같은 방식으로 십의 자리, 백의자리 ... 를 확인한다.
코드
더보기
# include <stdio.h>
int find_zero(int num, int* cnt);
int main() {
int T, N, M;
scanf("%d", &T);
for (int i = 0; i < T; i++) {
scanf("%d%d", &N, &M);
int cnt = 0;
for (int j = N ; j < M + 1 ; j++) {
find_zero(j, &cnt);
}
printf("%d\n", cnt);
}
}
int find_zero(int num, int * cnt) {
if (num == 0) (*cnt)++;
while (num != 0) {
if (num % 10 == 0) {
*cnt += 1;
}
num = num / 10;
}
return 0;
}