Where who wants to meet someone
핸드폰 번호 가리기 본문
728x90
문제
https://school.programmers.co.kr/learn/courses/30/lessons/12948
내 답안 / 다른 사람들의 답안
func solution(_ phone_number:String) -> String {
return phone_number.enumerated().map { $0.offset < phone_number.count - 4 ? "*" : String($0.element) }.joined()
}
- 필요한 만큼만 변경하면 되기 때문에 enumerated로 element와 offset의 짝으로 묶고, offset이 phone_number의 뒷 네자리 위치가 아니라면 마스킹을, 맞다면 원래 문자를 담아 joined로 String화 한 뒤 반환했다.
// 풀이 1
func solution(_ phone_number:String) -> String {
return String("\(String(repeating: "*", count: phone_number.count - 4))\(phone_number.suffix(4))")
}
// 풀이 2
func solution(_ phone_number:String) -> String {
return String(repeating:"*", count:phone_number.count-4)+phone_number.suffix(4)
}
- Array(repeating, count)와 replace 등을 시도하다가 실패했는데, String의 repeating과 suffix를 활용해서 풀 수 있음을 알게 되었다.
점수: +1
'프로그래머스 알고리즘 문제 기록 > Lv. 1' 카테고리의 다른 글
가운데 글자 가져오기 (0) | 2024.05.14 |
---|---|
제일 작은 수 제거하기 (0) | 2024.05.14 |
콜라츠 추측 (0) | 2024.05.14 |
나누어 떨어지는 숫자 배열 (0) | 2024.05.14 |
없는 숫자 더하기 (0) | 2024.05.13 |