문제
프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가린다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성하라.
제한 조건
phone_number는 길이 4 이상, 20 이하인 문자열입니다.
입출력 예
phone_number | return |
01033334444 | *******4444 |
02777888 | *****888 |
풀이
enumerated() 메서드를 사용한 풀이입니다. 유저 이메일이나 휴대폰번호 마스킹 처리 할 때 자주 쓰여서 풀기 크게 어렵지는 않았지만.. 뭔가 세련된 풀이는 아닌 것 같아서 다른 분들 코드도 잘 분석해봐야겠네요.
생각해보니까 suffix가 왜 생각이 안났었던 거지..?
func solution(_ phone_number:String) -> String {
var answer: String = ""
answer = phone_number.enumerated().map { index, char -> String in
let mask = Array(phone_number.count - 4 ..< phone_number.count).contains(index) ? char : "*"
return String(mask)
}.joined()
return answer
}
반응형
'Algorithm > Swift' 카테고리의 다른 글
프로그래머스 Lv.1 Swift 음양더하기 (0) | 2023.03.26 |
---|---|
프로그래머스 Lv.1 Swift x만큼 간격이 있는 n개의 숫자 (0) | 2023.03.18 |
프로그래머스 Lv.1 Swift 나머지가 1이 되는 수 찾기 (0) | 2023.03.04 |
프로그래머스 Lv.1 Swift 가장 가까운 글자 (0) | 2023.02.26 |
프로그래머스 Lv.1 Swift 크기가 작은 부분 문자열 (0) | 2023.02.24 |