Patrick's Devlog

[BOJ/C++] 0의 개수(11170번) 본문

Algorithm/Algorithms Practice

[BOJ/C++] 0의 개수(11170번)

Patrick_ 2022. 10. 5. 16:06

1. 개요

https://www.acmicpc.net/problem/11170

 

11170번: 0의 개수

N부터 M까지의 수들을 종이에 적었을 때 종이에 적힌 0들을 세는 프로그램을 작성하라. 예를 들어, N, M이 각각 0, 10일 때 0을 세면 0에 하나, 10에 하나가 있으므로 답은 2이다.

www.acmicpc.net

1-1. 설명

N부터 M까지 수 중 0을 세는 프로그램을 작성한다. 

1-2. 제한 사항

 - 첫줄에 테스트 케이스 수가 주어지며 1 이상 20 이하 자연수

 - N과 M은 0 이상 1,000,000이하 정수, N은 M보다 작거나 같음


2. 구현

2-1. 풀이

반복문으로 N과 M사이 숫자들을 나머지 연산을 통해 0의 개수를 세아렸다. 

2-2. 구현

#include <iostream>
#include <algorithm>
using namespace std;

int queens[15];

int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);

    int tc, n, m, result;
    cin >> tc;

    for (int t = 0; t < tc; t++) {
        result = 0;
        cin >> n >> m;
        for (int i = n; i <= m; i++) {
            int num = i;
            if (num == 0) {
                result += 1;
                continue;
            }
            while (10 <= num) {
                if (num % 10 == 0) result += 1;
                num /= 10;
            }
        }
        cout << result << "\n";
    }
    return 0;
}