Algorism
알고리즘 - 프로그래머스 핸드폰번호 가리기 (Swift)
codinglearn
2020. 7. 23. 15:53
반응형
프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.제한 조건
- s는 길이 4 이상, 20이하인 문자열입니다.
입출력 예
phone_numberreturn
01033334444 | *******4444 |
027778888 | *****8888 |
문자열 처리에 대한 문제이조 String을 다루는 방법만 공부하신다면 다양한 방법으로 간단하게 해결이 가능합니다.
2개의 방법을 소개할게요.
1. String 생성시 초기값 주기
2. 문자열 변경 하기
1. String 생성시 초기값 주기
아래와 같이 String 생성시 String(repeating: String, count: Int)로 초기값을 "*"로 총 글자수의 4개를 제외하고 생성 해준뒤에
입력받은 글자에서 마지막 4글자만 가지고와서 더해준뒤 반환하는 방법이 있습니다.
func solution(_ phone_number:String) -> String {
return String(repeating: "*", count: phone_number.count-4) + phone_number.suffix(4)
}
2. 문자열 변경 하기
문자열 변경하기는 replaceSubrange함수를 사용하여 Range만큼 다른 문자열로 변경을 해주는 함수입니다.
그래서 문자열의 시작지점 부터 끝나는지점의 4개를 제외한 지점까지 변경을 할 것이며,
변경할 문자열은 입력받은 문자에서 4개를 뺀 갯수만큼 "*"로 변환하여 반환해 주는 내용입니다.
func solutionA(_ phone_number:String) -> String {
var phone = phone_number
phone.replaceSubrange(phone.startIndex..<phone.index(phone.endIndex, offsetBy: -4), with: repeatElement("*", count: phone.count-4))
return phone
}
반응형