SMALL
문제
프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.
제한 조건
phone_number는 길이 4 이상, 20이하인 문자열입니다.
입출력 예
phone_number | return |
"01033334444" | "*******4444" |
"027778888" | "*****8888" |
문제 풀이
뒷자리 번호 4개는 항상 표시하면 되므로 substring()함수로 추출하고, 그 앞의 자리 숫자들은 번호 전체 길이를 구한 후 for문을 활용하여 뒤에 4개 숫자만 제외하여 "*"로 표기한다.
class Solution {
public String solution(String phone_number) {
String answer = "";
int length = phone_number.length(); //전화번호의 총 길이를 구한다.
for(int i = 1; i <= length - 4; i++ ){ //뒤에 네자리만 빼고 반복하여 "*"를 연산한다.
answer = answer + "*";
}
answer += phone_number.substring(length - 4); //연산한 "*"에 뒷자리 번호 4개를 더해준다.
return answer;
}
}
/*
테스트 1
입력값 〉 "01033334444"
기댓값 〉 "*******4444"
실행 결과 〉 테스트를 통과하였습니다.
테스트 2
입력값 〉 "027778888"
기댓값 〉 "*****8888"
실행 결과 〉 테스트를 통과하였습니다.
*/
문제 출처
https://school.programmers.co.kr/learn/courses/30/lessons/12948
'Java' 카테고리의 다른 글
[프로그래머스] 문자열 내림차순으로 배치하기 (0) | 2023.06.20 |
---|---|
[프로그래머스] 수박수박수박수박수박수? (0) | 2023.06.20 |
[프로그래머스] 두 정수의 합 (0) | 2023.06.20 |
StringBuffer / StringBuilder (0) | 2023.05.18 |
hashCode()란? (0) | 2023.05.17 |
댓글