[프로그래머스 / Kotlin] 핸드폰 번호 가리기
문제 설명
프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.
- 제한조건
phone_number는 길이 4 이상, 20이하인 문자열입니다.
풀이 과정
문제를 해결하긴 해결했는데 너무 비효율적으로 문제를 푼 느낌이다. 찾아보면 더 간단하게 풀 수 있는 함수가 있을 것 같은데 눈에 보이는 대로 푼 느낌. 문제는 보자마자 해결했지만 코드가 마음에 들지 않는다.
--
for을 두개 사용하지 않고 for문 안에 if 문을 넣어서 사용할 수 있을 것 같다. for문을 i in 0 .. number.size로 돌린 후 if문의 조건식을 i < number.size - 4 이면 *을 박고 아니면 number[i]을 가져오는 식으로도 풀 수 있을 것 같다.
내가 푼 코드
class Solution {
fun solution(phone_number: String): String {
var answer = ""
var number = phone_number.toCharArray()
for(i in 0 until number.size - 4){
answer += "*"
}
for(i in number.size - 4 until number.size){
answer += number[i]
}
return answer
}
}
후기
처음에 알고리즘 문제를 보면 어떤 방향으로 접근해야하는지 막막했는데 풀어 볼 수록 문제를 해결할 방법을 떠올리는 속도가 빨라진 것 같다.
'Android > Algorithm' 카테고리의 다른 글
[프로그래머스 / Kotlin] 제일 작은 수 제거하기 (0) | 2024.03.06 |
---|---|
[프로그래머스 / Kotlin] 없는 숫자 더하기 (0) | 2024.03.06 |
[프로그래머스 / Kotlin] 음양 더하기 (0) | 2024.03.06 |
[프로그래머스 / Kotlin] 나누어 떨어지는 숫자 배열 (0) | 2024.03.06 |
[프로그래머스 / Kotlin] 서울에서 김서방 찾기 (0) | 2024.03.06 |