728x90
728x90
1. 문제 설명
프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.
2. 제한 조건
phone_number는 길이 4 이상, 20이하인 문자열입니다.
3. 입출력 예
phone_number | return |
"01033334444" | "*******4444" |
"027778888" | "*****8888" |
class Solution {
public String solution(String phone_number) {
String answer = "";
String a[] = phone_number.split(""); //1
if(a.length<5){ //2
answer = phone_number;
}else{
for(int i =0; i<a.length-4; i++){ //3
a[i]="*";
answer = String.join("",a); //4
}
}
return answer;
}
}
//1. phone_number를 1자리씩 a 배열에 저장
//2. phone_number가 4자리일 경우 answer은 phone_number 저장
//3. phone_number가 5자리 이상일 경우 배열 길이 - 4 만큼 for문을 반복하여 배열 마지막 4자리 외 모든 요소에 * 삽입
//4. a 배열을 answer에 한 문자형식으로 저장
문제 풀이 중에도 불필요한 배열 사용으로 깔끔하지 못하다고 생각해 이후 다른 분들의 풀이를 보며 추가적으로 배운 항목
class Solution {
public String solution(String phone_number) {
String answer = "";
for (int i = 0; i < phone_number.length() - 4; i++){
answer += "*";
}
answer += phone_number.substring(phone_number.length() - 4); //1
return answer;
}
}
//1
x.substring(y)함수 : phone_number.substring(phone_number.length() - 4);
- x에 저장된 문자열 중 뒤에서 y번째 문자열까지 출력
728x90
728x90
'코딩테스트(Level 0~1)' 카테고리의 다른 글
[JAVA, Programmers] 제일 작은 수 제거하기(자바) (0) | 2022.11.21 |
---|---|
[JAVA, Programmers] 나누어 떨어지는 숫자 배열(자바) (0) | 2022.11.21 |
[JAVA, Programmers] 서울에서 김서방 찾기(자바) (0) | 2022.11.20 |
[JAVA, Programmers] 콜라츠 추측(자바) (0) | 2022.11.20 |
[JAVA, Programmers] 나머지가 1이 되는 수 찾기(자바) (0) | 2022.11.20 |