< 문제 27번 >
전화번호가 문자열 phone_number로 주어졌을 때, 뒷 4자리를 제외한 나머지 숫자를 전부 *로 가린 문자열을 리턴하는 함수를 완성해주세요.
< solution >
class Solution {
fun solution(phone_number: String): String {
require(phone_number.length in 4..20)
// 첫 자리부터 끝 4자리 전의 자리까지의 숫자들을 뽑아서 *로 바꾼 후에 문자열로 변환
val hiddenDigits = phone_number.substring(0, phone_number.length - 4).map { '*' }.joinToString("")
// 가리지 않은 뒷 4자리를 lastDigits에 할당
val lastDigits = phone_number.takeLast(4)
// 가린 부분과 가리지 않은 부분을 합한 문자열을 반환
return hiddenDigits + lastDigits
}
}
--------------------------------------------------------------------------------
< takeLast > - 문자열 또는 컬렉션에서 사용
fun main() {
val list = listOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
val result = list.takeLast(3) // 마지막 3개 요소를 반환
println(result) // [8, 9, 10]
}
<substring> https://lionbae.tistory.com/entry/z
<joinToString> https://lionbae.tistory.com/entry/joinToString-sortedDescending
728x90
'앱 개발 > Algorithm' 카테고리의 다른 글
minOrNull(), filter (제일 작은 수 제거하기) (0) | 2024.03.19 |
---|---|
forEachIndexed (가장 가까운 같은 글자) (0) | 2024.03.15 |
withIndex (푸드 파이트 대회) (0) | 2024.03.14 |
Array, Set (두 개 뽑아서 더하기) (0) | 2024.03.11 |
Destructuring declarations (K번째수) (0) | 2024.03.08 |