포스트

152. 숨어있는 숫자의 덧셈 (1) (fin)


1
2
3
4
5
6
7
8
import Foundation

func solution(_ my_string:String) -> Int {
    
    var answer = my_string.map{$0}.filter{$0.isNumber}.map{Int(String($0))!}.reduce(0,+)
    
    return answer
}

기존에 왜 보류를 했는지 쓰다만 코드를 보았다.

1
answer = my_string.map{String($0).isNumber ? $0 : 0}.reduce(0,+)

이렇게 되어있었다.

처음부터 바로 String으로 하고 정수인지 확인하고 아니면 0으로 리턴해서 reduce로 합치려고 했었다.

하지만 다시 풀었을때 안되는걸 알았고 map을 사용하여 먼저 어떻게 넘어가는지 확인을 하였다.

그리고나서 필터를 걸어 정수만 걸러내었고, 그것을 Int로 형변환 하기위해 다시 map을 씌우고 reduce로 더하여 결과를 리턴하였다.

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.