안녕하세요. 이번에는 프로그래머스 핸드폰 번호 가리기를 풀어보려고 합니다.
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
Problem
프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해 주세요.
[제한 사항]
○ phone_number는 길이 4 이상, 20 이하인 문자열입니다.
![](https://blog.kakaocdn.net/dn/b5g2ul/btsAD2uct7Q/F6pJlkg4MvLzUDF3Vu6pu1/img.png)
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. 다른 사람 코드 |
![]() |
![]() |
반응형
'프로그래머스 Algorithm' 카테고리의 다른 글
[프로그래머스] 가운데 글자 가져오기 Kotlin (0) | 2023.11.22 |
---|---|
[프로그래머스] 제일 작은 수 제거하기 Kotlin (0) | 2023.11.21 |
[프로그래머스] 나누어 떨어지는 숫자 배열 Kotlin (2) | 2023.11.19 |
[프로그래머스] 음양 더하기 Kotlin (0) | 2023.11.18 |
[프로그래머스] 서울에서 김서방 찾기Kotlin (0) | 2023.11.17 |