본문 바로가기
Study (etc)/Problem Solving

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

by Haren 2022. 4. 1.

문제

N부터 M까지의 수들을 종이에 적었을 때 종이에 적힌 0들을 세는 프로그램을 작성하라.

예를 들어, N, M이 각각 0, 10일 때 0을 세면 0에 하나, 10에 하나가 있으므로 답은 2이다.

입력

첫 번째 줄에 테스트 케이스의 수 T가 주어진다.

각 줄에는 N과 M이 주어진다.

  • 1 ≤ T ≤ 20
  • 0 ≤ N ≤ M ≤ 1,000,000

출력

각각의 테스트 케이스마다 N부터 M까지의 0의 개수를 출력한다.

Solved.ac 레벨

실버 V

풀이

#include <bits/stdc++.h>

using namespace std;

int main(){
    ios::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
    
    char zero = '0';
    int testCase;
    cin >> testCase;

    for(int i = 0; i < testCase; i++){
        int nNum, mNum;
        int cnt = 0;
        cin >> nNum >> mNum;
        
        for(int j = nNum; j <= mNum; j++){
            string sNum = to_string(j);

            for(int k = 0; k < sNum.length(); k++){
                if(sNum[k] == zero)
                    cnt++;
            }
        }
        cout << cnt << endl;
    }

    return 0;
}

https://acmicpc.net/problem/11170