반응형
문제 설명
프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.
- phone_number는 길이 4 이상, 20이하인 문자열입니다.
"01033334444" | "*******4444" |
"027778888" | "*****8888" |
나의 풀이
func solution(_ phone_number:String) -> String {
var cellPhoneNumber = phone_number.map { String($0) }
let count = cellPhoneNumber.count - 4
cellPhoneNumber.replaceSubrange(0..<count, with: repeatElement("*", count: count))
return cellPhoneNumber.joined()
}
배열 메서드를 사용하여 replaceSubrange를 사용하여 범위에 대한 요소를 repeatElement 변경할value와 변경할 크기를 설정하여
변경해주며 joined를 사용하여 합쳐줍니다
다른 사람 풀이
func solution(_ phone_number:String) -> String {
return String("\(String(repeating: "*", count: phone_number.count - 4))\(phone_number.suffix(4))")
}
suffix는 마지막 4자리는 그대로 두고 나머지 4자리까지는 *를 변경해줍니다
반응형
'Programmers > LV1.' 카테고리의 다른 글
Lv1 | Swift -제일 작은 수 제거하기 (0) | 2024.06.25 |
---|---|
Lv1 | Swift -제일 작은 수 제거하기 (0) | 2024.06.24 |
Lv1 | Swift - 나누어 떨어지는 숫자 배열 (0) | 2024.06.20 |
Lv1 | Swift - 콜라츠 추측 (0) | 2024.06.19 |
Lv1 | Swift - 없는 숫자 더하기 (0) | 2024.06.18 |