본문 바로가기
📖 Coding Test/Programmers LV.0

[프로그래머스 LV.0] k의 개수

by hyebin (Helia) 2023. 1. 7.

k의 개수

문제 설명

1부터 13까지의 수에서, 1은 1, 10, 11, 12, 13 이렇게 총 6번 등장합니다. 정수 i, j, k가 매개변수로 주어질 때, i부터 j까지 k가 몇 번 등장하는지 return 하도록 solution 함수를 완성해 주세요.

제한 사항

  • 1 ≤ i < j ≤ 100,000
  • 0 ≤ k ≤ 9

입출력 예

i j k result
1 13 1 6
10 50 5 5
3 10 2 0

입출력 예 설명

입출력 예 #1

  • 본문과 동일합니다.

입출력 예 #2

  • 10부터 50까지 5는 15, 25, 35, 45, 50 총 5번 등장합니다. 따라서 5를 return 합니다.

입출력 예 #3

  • 3부터 10까지 2는 한 번도 등장하지 않으므로 0을 return 합니다.

제출

import Foundation

func solution(_ i:Int, _ j:Int, _ k:Int) -> Int {
    var answer = 0
    for num in i...j{
        if String(num).contains(String(k)) {
            answer += String(num).filter{String($0) == String(k)}.count
        }
    }
    return answer
}
i부터 j까지 num 변수를 1씩 증가시키면서, num을 String으로 변환했을 때 k가 존재하면 answer 변수에 num에서 k의 개수를 더한다.
반응형

댓글