문제 출처: https://programmers.co.kr/learn/courses/30/lessons/12948
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.
제한 조건
s는 길이 4 이상, 20이하인 문자열입니다.
phone_number(input)
"01033334444"
return
"***4444"
class Solution {
public String solution(String phone_number) {
if(phone_number.length() == 4) {
return phone_number;
} else {
StringBuilder sb = new StringBuilder();
for(int i = 0; i < phone_number.length() - 4; i++)
sb.append("*");
return sb.append(phone_number.substring(phone_number.length() - 4, phone_number.length())).toString();
}
}
}
최대한 컴팩트하게 썻다...
class Solution {
public String solution(String phone_number) {
char[] ch = phone_number.toCharArray();
for(int i = 0; i < ch.length - 4; i ++){
ch[i] = '*';
}
return String.valueOf(ch);
}
}
보통 쉬운문제는 다른 풀이를 봐도 코드 성능이나 길이 차이가 거의 없기 때문에 포스팅을 안하지만, 나는 toCharArray() 함수를 써본적이 없어서 이렇게 쓰는구나하고 신기해서 함께 포스팅했다.