😈 알고리즘/🍃 인프런 #1

🙏 29. 3의 개수는?(small)

Buᐢ༝ᐢy 2023. 3. 19. 21:22

it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비 - 인프런 | 강의

모든 문제에 대한 저작권은 위 강의에 있습니다.

문제

자연수 N이 입력되면 1부터 N까지의 자연수를 종이에 적을 때 각 숫자 중 3의 개수가 몇 개 있는지 구하려고 합니다. 예를 들어 1부터 15까지는 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 0, 1, 1, 1, 2, 1, 3, 1, 4, 1, 5으로 3의 개수는 2개입니다. 자연수 N이 입력되면 1부터 N까지 숫자를 적을 때, 3의 개수가 몇 개인지 구하여 출력하는 프로그램을 작성하세요.

입력 설명

첫 줄에 자연수의 개수 N(3<=N<=100,000)이 주어집니다.

출력 설명

3의 개수를 출력하세요.

입력 예제 1

15

출력 예제 1

2

제출 코드

2023년 2월 14일

#include <iostream>

using namespace std;

int main()
{
    int N = 0;
    cin >> N;
    
    int cnt = 0;
    for(int i = 3; i <= N; i++)
    {
        int temp = i;
        while(temp > 2)
        {
            if(temp % 10 == 3)
            {
                cnt++;
                temp /= 10;
            }
            else
                temp /= 10;
        }
    }
    cout << cnt;
    
    return 0;
}

풀이

입력한 수를 for문을 통해 전부 다 체크하는 방법이다. 수의 제한이 크지 않아 이 방법이 가능했다.