문제 링크 -> https://programmers.co.kr/learn/courses/30/lessons/12948
코딩테스트 연습 - 핸드폰 번호 가리기
프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자
programmers.co.kr
문제 설명
프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.
- phone_number는 길이 4 이상, 20이하인 문자열입니다.
------------------------------------------------------------풀이------------------------------------------------------------------
1. string을 mutableList로 변환
2. 뒤 4자리를 제외한 나머지 앞자리를 "*"로 set
3. 구분자없이 string 변환
* 원래는 substring으로 4자리 제외하고 반복문 한번 돌려서 substring한 길이만큼 새로운 string 만들고 replace하려 했는데 아래 코드가 시간이 더 짧을 것 같아서 이렇게 했습니다. 정확한 시간을 계산해 보려면 joinToString 어떤 방식으로 실행되는지 replace랑 비교해봐야 할 것 같네요
class Solution {
fun solution(phone_number: String): String {
var answer = phone_number.toMutableList()
for(i in 0..answer.size-5){
answer.set(i, '*')
}
return answer.joinToString("")
}
}
------------------------------------------------------------결과------------------------------------------------------------------
- 문제에 대한 질문 댓글 환영!
- 중간에 잘못된 부분이 있다면 댓글로 남겨주세요. 수정하겠습니다.
'Kotlin(프로그래머스) > Level 1' 카테고리의 다른 글
[프로그래머스/Kotlin] x만큼 간격이 n개의 숫자 (0) | 2022.03.28 |
---|---|
[프로그래머스/Kotlin] 행렬의 덧셈 (0) | 2022.03.28 |
[프로그래머스/Kotlin] 하샤드 수 (0) | 2022.03.28 |
[프로그래머스/Kotlin] 평균 구하기 (0) | 2022.03.28 |
[프로그래머스/Kotlin] 콜라츠 추측 (0) | 2022.03.22 |
댓글