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는 앞에서부터 시작해서 입력받은 숫자까지를 출력합니다.