알고리즘/미분류
[PGS/프로그래머스][Lv1] 핸드폰 번호 가리기(Kotlin)
꼬물쥰
2022. 5. 10. 20:55
[문제 설명]
프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.
[제한 조건]
- phone_number는 길이 4 이상, 20이하인 문자열입니다.
[입출력 예]
phone_number | return |
"01033334444" | "*******4444" |
"027778888" | "*****8888" |
[풀이]
핸드폰 번호 맨 뒤 네자리를 제외한 나머지 숫자들을 *로 바꿔서 반환하는 문제
나는 간단하게 핸드폰 번호 길이만큼 반복문을 돌면서
만약 뒤 네자리가 아니면 *을 answer에 넣고 맨 뒤 네자리이면 해당 숫자를 넣어주었다.
- 내가 실수한 점 : 요새 계속 배열을 써서 그런지 문자열 길이를 구할 때 size를 사용했다..
다른 사람의 코드를 살펴보니 다 비슷한데
return answer + phone_number.slice(last - 3..last)
이런 식으로 *만 다 넣고 뒤에 네자리는 slice를 붙여서 리턴하는 방법도 좋은 것 같다..!
[코드]
class Solution {
fun solution(phone_number: String): String {
var answer = ""
for(i in 0 until phone_number.length){
if(i >= phone_number.length - 4) answer += phone_number[i]
else{answer += "*"}
}
return answer
}
}