알고리즘
[Swift 알고리즘] - k의 갯수 (Programmers)
Peppo
2022. 11. 16. 22:45
728x90
https://school.programmers.co.kr/learn/courses/30/lessons/120887
문제 사진
내 풀이
import Foundation
func solution(_ i:Int, _ j:Int, _ k:Int) -> Int {
return Array(i...j).flatMap { String($0).compactMap { Int(String($0)) } }.filter { $0 == k }.count
}
solution(1, 13, 1)
1. i ~ j 까지의 숫자를 배열로 만든다.
2. 그 사이 요소들중 10의자리 수 이상인 요소들을 분리 시킨다.
flatMap { String($0).compactMap { Int(String($0)) } }
예) 32 → 3, 2 / 19 → 1, 9
3. 마지막으로 다 분리 된 숫자들을 filter를 사용하여 k와 같은 숫자를 걸러낸 후 갯수를 줍줍한다.
다른사람의 풀이
import Foundation
func solution(_ i:Int, _ j:Int, _ k:Int) -> Int {
var answer = 0
for n in i...j {
answer += String(n).map{ String($0) }.filter{ $0 == String(k) }.count
}
return answer
}
요즘 최대한 for문을 안써보려고 하는데 복습하는데 좋을것 같아 가지고 와 봤다.
728x90