Programmers/LV1.

Lv1 | Swift - 핸드폰 번호 가리기

ziziDev 2024. 6. 21. 09:37
반응형

문제 설명

프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.

제한 조건
  • phone_number는 길이 4 이상, 20이하인 문자열입니다.
입출력 예phone_numberreturn
"01033334444" "*******4444"
"027778888" "*****8888"

나의 풀이

func solution(_ phone_number:String) -> String {
    
    var cellPhoneNumber = phone_number.map { String($0) }
    let count = cellPhoneNumber.count - 4
    
     cellPhoneNumber.replaceSubrange(0..<count, with: repeatElement("*", count: count))
    
    return cellPhoneNumber.joined()
}

 

배열 메서드를 사용하여 replaceSubrange를 사용하여 범위에 대한 요소를 repeatElement 변경할value와 변경할 크기를 설정하여

변경해주며 joined를 사용하여 합쳐줍니다

 

다른 사람 풀이

func solution(_ phone_number:String) -> String {
    return String("\(String(repeating: "*", count: phone_number.count - 4))\(phone_number.suffix(4))")
}

 

suffix는 마지막 4자리는 그대로 두고 나머지 4자리까지는 *를 변경해줍니다

반응형