알고리즘/미분류

[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
    }
}