본문 바로가기

Algorithm/programmers

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

반응형

https://school.programmers.co.kr/learn/courses/30/lessons/12948

 

프로그래머스

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

programmers.co.kr

출제 포인트

  • 문자열 처리(Processing String)

제출 코드

  • 입력받는 전화번호의 마지막 4개의 숫자만 표시하고 나머지 숫자는 ' * ' 로 바꾸어야 한다. 
  • 제한 조건을 보면 전화 번호의 최소 길이가 4 이상이다. 즉 4개의 숫자로 이루어진 전화번호가 입력되면 그 번호 그대로 출력해야 한다.
  • 입력받는 String의 길이에서 4를 빼면 ' * ' 로 바꾸어야 문자의 개수이다. 그 개수만큼 ' * '를 answer 변수에 넣어준다.
  • String의 index를 활용해서 마지막 4개의 문자를 answer 변수에 이어서 넣어준다.

다른 사람 코드로 부터 배우기

fun solution(phone_number: String): String {
        return "${"".padStart(phone_number.length - 4, '*')}${phone_number.takeLast(4)}"
    }
fun solution(phone_number: String): String {
        return phone_number.mapIndexed { index, c ->
            if (phone_number.length - 5 < index) c else '*'
        }.joinToString(separator = "")
    }
fun solution(phone_number: String): String {
       var answer = ""

       answer = "*".repeat(phone_number.length - 4)+ phone_number.substring(phone_number.length - 4)

       return answer
    }
fun solution(phone_number: String): String {
        var answer = ""
        val inputSize = phone_number.length
        (0 until inputSize - 4).forEach { _ -> answer += "*" }
        answer += phone_number.substring(inputSize - 4, inputSize)
        return answer
    }

 

반응형