백준 숫자 빈도수

KIMYEONGJUN·2025년 4월 14일
0
post-thumbnail

문제

내가 생각했을때 문제에서 원하는부분

자연수 n (1 ≤ n ≤ 100,000)과 한 자리 숫자 d(0~9)가 첫째 줄에 주어진다.

첫째 줄에 빈도수를 출력한다.

내가 이 문제를 보고 생각해본 부분

입력 처리: BufferedReader를 사용하여 입력을 받는다.
빈도수 계산: 1부터 n까지의 숫자를 반복하면서 각 숫자를 문자열로 변환하고, 각 문자에서 특정 숫자와 일치하는지 확인하여 빈도수를 증가시킨다.
결과 출력: 최종적으로 계산된 빈도수를 출력한다.

코드로 구현

package baekjoon.baekjoon_27;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

// 백준 14912번 문제
public class Main991 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        // 입력 받기
        String[] input = br.readLine().split(" ");
        int n = Integer.parseInt(input[0]);
        char digit = input[1].charAt(0); // 특정 숫자

        // 빈도수 계산
        int frequency = 0;

        for(int i = 1; i <= n; i++) {
            String number = String.valueOf(i);
            for(char c : number.toCharArray()) {
                if(c == digit) {
                    frequency++;
                }
            }
        }

        // 결과 출력
        System.out.println(frequency);
        br.close();
    }
}

마무리

코드와 설명이 부족할수 있습니다. 코드를 보시고 문제가 있거나 코드 개선이 필요한 부분이 있다면 댓글로 말해주시면 감사한 마음으로 참고해 코드를 수정 하겠습니다.

profile
Junior backend developer

0개의 댓글