문제.
프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 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는 앞에서부터 시작해서 입력받은 숫자까지를 출력합니다.
'IOS > Swift Algorithm Level 1' 카테고리의 다른 글
Swift. x만큼 간격이 있는 n개의 숫자 (0) | 2020.11.05 |
---|---|
Swift. 행렬의 덧셈( feat. zip ) (0) | 2020.11.04 |
Swift. 하샤드 수 (0) | 2020.11.02 |
Swift. 평균 구하기 (0) | 2020.11.01 |
Swift. 콜라츠 추측 (0) | 2020.10.31 |