코드카타 - 핸드폰 번호 가리기

2024. 6. 13. 09:30코드카타(CodeKata)

문제 설명
프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.

제한 조건
phone_number는 길이 4 이상, 20이하인 문자열입니다.


입출력 예
phone_number return
"01033334444" "*******4444"
"027778888" "*****8888"

 

풀이

class Solution {
    fun solution(phone_number: String): String {
        var answer = ""
        var list = phone_number.split("").toMutableList()
        var len = phone_number.length
        var size = list.size
        
        list.removeAt(size-1)
        list.removeAt(0)

        println(list)
        println(size)
        for (i in 1..len-4){
            list[i-1] = "*"
        }
        
        answer = list.joinToString("")
        return answer
    }
}

 

주의사항

- 문자열을 특정 조건을 기준으로 나눌 땐 split() 을 쓴다

- 불변 리스트는 listOf(), mutableListOf()를 쓴다

- 문자열의 길이를 구할 땐 .length, array나 list의 길이를 구할 땐 .size를 쓴다

- list의 특정 인덱스의 값을 지울 땐 .removeAt(인덱스값) 을 쓴다

- list값을 string으로 묶어 출력하려면 joinToString()을 쓴다