14912번 : 숫자 빈도수
문제)
1부터 n까지 차례대로 써 내려갈 때 특정 숫자(digit)의 빈도수를 구하여 출력하는 프로그램을 작성하시오.
예를 들어, n = 11 이고 숫자 1의 빈도수를 구하라고 하면, 1 2 3 4 5 6 7 8 9 10 11 에서 숫자 1은 1에서 한 번, 10에서 한 번, 11에서 두 번 나타나므로 1의 빈도수는 총 4 이다.
입력 :
자연수 n (1 ≤ n ≤ 100,000)과 한 자리 숫자 d(0~9)가 첫째 줄에 주어진다.
출력 :
첫째 줄에 빈도수를 출력한다.
풀이)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
// 14912. 숫자 빈도수
#include <iostream>
using namespace std;
int n, d;
int cnt[100010];
int main()
{
cin >> n >> d;
for (int i = 1; i < n + 1; i++)
{
int a = i;
while (a)
{
cnt[a % 10]++;
a /= 10;
}
}
cout << cnt[d];
return 0;
}
|
cs |
출처 : https://www.acmicpc.net/problem/14912
14912번: 숫자 빈도수
자연수 n (1 ≤ n ≤ 100,000)과 한 자리 숫자 d(0~9)가 첫째 줄에 주어진다.
www.acmicpc.net
'Develop > 백준 (Cpp)' 카테고리의 다른 글
[백준] 19598번 : 최소 회의실 개수 (C++) (0) | 2023.09.18 |
---|---|
[백준] 11048번 : 이동하기 (C++) (0) | 2023.09.18 |
[백준] 2206번 : 벽 부수고 이동하기 (C++) (0) | 2023.09.18 |
[백준] 11057번 : 오르막 수 (C++) (0) | 2023.09.17 |
[백준] 1965번 : 상자넣기 (C++) (0) | 2023.09.17 |