본문 바로가기
프로그래머스 Algorithm

[프로그래머스] 핸드폰 번호 가리기 Kotlin

by Echung 2023. 11. 20.

안녕하세요. 이번에는 프로그래머스 핸드폰 번호 가리기를 풀어보려고 합니다.

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 


Problem

프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.

전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해 주세요.

 

[제한 사항]

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

사진 1. 입출력 예

Solution

class Solution {
    fun solution(phone_number: String): String {
        var answer = ""

        answer += phone_number.replace("[0-9]".toRegex(), "*").substring(0, phone_number.length - 4)
        answer += phone_number.substring(phone_number.length - 4, phone_number.length)

        return answer
    }
}

 이번 문제는 문자열을 바꾸는 replace와 문자를 자르는 substring을 활용해서 문제를 해결하였다.

 

1. 다른 사람 코드

class Solution {
    fun solution(phone_number: String): String {
        return "${"".padStart(phone_number.length - 4, '*')}${phone_number.takeLast(4)}"
    }
}

  나의 코드와 다르게 한 줄로 코드를 작성한 분이 있어서 공부용으로 첨부해 본다. padStart 기능을 사용해서 첫 번째 파라미터에 길이를 두 번째 파라미터에 넣을 문자열을 입력해 준다. 그리고 뒤에서 4자리는 takeLast 함수를 통해서 가져오는 방식으로 풀이를 한 것이다. 코틀린의 문법을 잘 활용한 문제 같다. 나도 코틀린의 문법을 하나씩 배우면서 잘 활용하도록 노력해 봐야겠다!


Performance

1. 내가 작성한 코드 2. 다른 사람 코드
반응형