포스트

187. 핸드폰 번호 가리기


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
func solution(_ phone_number:String) -> String {
    
    var answer : String = ""
    var arr : [String] = []
    
    arr = phone_number.map{String($0)}
    
    if arr.count > 4 {
        for i in 0...arr.count-5 {
            arr[i] = "*"
        }
        answer = arr.joined()
    } else {
        answer = phone_number
    }

    return answer
}

우선 배열로 만들었다. 그리고 count -5를하여 뒤의 4자리만 살리게 하려고 하였다.

그대로 제출을 하니 count 가 4일때 즉 길이가 4일때는 에러가 발생하였다.

그래서 if 문을 걸어서 길이가 4일때는 문자열 그대로 출력하게 하였다.

suffix, prefix를 알고있었으나 적용을 할수가 없었다. 지식이 부족했다.

repeating을 사용하여 *을 반복적으로 생성하게 하였다.

다른코드

1
2
3
func solution(_ phone_number:String) -> String {
    return String("\(String(repeating: "*", count: phone_number.count - 4))\(phone_number.suffix(4))")
}
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.