티스토리 뷰

핸드폰 번호 가리기

문제 설명

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

 

제한 조건

  • s는 길이 4 이상, 20이하인 문자열입니다.

 

 

문제 풀이

  1. String의 이니셜라이져 init(repeating:count:)
  2. String의 suffix 메소드

를 알고 있으면 매우 쉽게 풀 수 있는 문제

 

코드

내 코드

func solution(_ phone_number:String) -> String {
    
    var new_private_number  = ""
    let range = phone_number.count
    let except_last_four = range - 4
    let only_last_four_number = phone_number.suffix(4)
    
        for _ in 0..<except_last_four {
            new_private_number.append(contentsOf: "*")
        }
    
    new_private_number = new_private_number + only_last_four_number
    
    return new_private_number
    
}

 

 

가장 깔끔한 코드

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

 

 

 

후기

String의 init 를 몰랐다.

phone_number 길이-4 만큼 *를 append로 추가했는데 가독성이 매우 구려졌다.

많이 연습해야겠다.

 

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함