반응형

백준 14912번 문제입니다. (solved.ac) 기준 실버 5 문제입니다.

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

 

14912번: 숫자 빈도수

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

www.acmicpc.net

문제

문제 접근

자연수 n과 한 자리 숫자 d가 주어지고 1 ~ n까지의 자연수들중 d의 빈도수를 구하는 문제입니다.

자연수 n의 범위가 1이상 100,000이하 이므로 완전탐색을 진행하였습니다.

1 ~ n 까지의 모든 수를 문자열로 변환 후 forEach로 탐색하고 있는 문자를 정수로 변환시켜준 후 d와 같은 값이 존재한다면 빈도수를 1씩 증가시킬 수 있도록 하였습니다.

정답 코드

fun main() {

    val (n, d) = readln().split(" ").map { it.toInt() }
    var frequency = 0

    for (no in 1..n) {
        no.toString().forEach {
            var num = it - '0'
            if (num == d) frequency++
        }
    }
    println(frequency)
}
반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기