IOS/Swift Algorithm Level 1

Swift. 핸드폰 번호 가리기

HyeonGyu IM 2020. 11. 3. 12:27

 문제. 

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

제한 조건

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

 풀이. 

 // 나의풀이
func solution(_ phone_number:String) -> String {
    var num = phone_number.map {String($0)}
for i in 0..<num.count - 4 {
    num[i] = "*"
}
    return num.joined() 
}

 // 인상깊은 풀이
  return String(repeating:"*", count:phone_number.count-4)+phone_number.suffix(4)

1. 이번 문제는 제가 좀더 쉽게 풀수있었는데 아쉽습니다. 문자열 다루기의 숙련도가 문제였습니다

2. 키워드 메서드는 repeating 과 suffix였습니다

3. repeating은 특정문자를 count 숫자대로 반복해주는 메서드입니다.

4. 이번에 새로알게된 메서드는 suffix, prefix입니다. 둘다 특정위치 까지의 문자열을 출력해주는데 
    suffix는 뒤에서부터 시작해서 입력받은 숫자까지
    prefix는 앞에서부터 시작해서 입력받은 숫자까지를 출력합니다.