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;
}