728x90
문제 설명
프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.
- phone_number는 길이 4 이상, 20이하인 문자열입니다.
"01033334444" | "*******4444" |
"027778888" | "*****8888" |
나의 풀이 .
private fun solution(phone_number: String): String {
var c = ""
phone_number.toList().mapIndexed { index, value ->
if (index < phone_number.length - 4) c += "*" else c += value
}
return c
}
mapIndexed() 라는 함수를 사용하여 풀었다. 앞으로 활용도가 많을 것 이라고 생각이 된다. ㅎ
다른 분의 풀이 .
class Solution {
fun solution(phone_number: String): String {
return "${"".padStart(phone_number.length - 4, '*')}${phone_number.takeLast(4)}"
}
}
padStart() , takeLast() 함수들을 사용하여 풀었다. 굉장히 간단하고 좋은 것 같다.
padStart() = 문자열을 replace 할 수 있는 함수.
takeLast() 마지막 index 부터 지정한 숫자만큼 가져오는 함수.
'알고리즘' 카테고리의 다른 글
[코딩 테스트] Level. 1 크레인 인형뽑기 게임 (Kotlin) (0) | 2023.03.21 |
---|---|
[코딩테스트] Level. 1 행렬의 덧셈 Kotlin (0) | 2023.02.22 |
[코딩테스트] Level. 1 콜라츠 추측 Kotlin (0) | 2023.02.15 |
[코딩테스트] Level. 1 평균 구하기 Kotlin. (0) | 2023.02.15 |
[코딩테스트] Level. 1 최대공약수와 최소공배수 Kotlin (0) | 2023.02.09 |