문제 설명
프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요
제한 조건
- phone_number는 길이 4 이상, 20이하인 문자열입니다
입출력 예시
phone_number | return |
"01033334444" | "*******4444" |
"027778888" | "*****8888" |
나만의 해설
처음에는 substring을 이용해서 앞에값 자르고 뒤에값 잘라서 합칠까 라는 생각을 했는데
너무 코드도 많아지고 복잡해져서 다른 방법을 모색해봤다
일단 들어온 값의 전체 수만큼 for문을 돌게하고 전체 수의 -4 위치까지 *을 찍게했다
그리고 나머지 4자리는 각각의 char 값을 charAt을 이용해서 붙여줬다
public class Solution {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("문자를 입력하세요 : ");
String phone_number = scanner.next();
String answer = "";
for(int i = 0; i<phone_number.length(); i++){
if(i<phone_number.length()-4){
answer += "*";
}else {
answer += phone_number.charAt(i);
}
}
System.out.println(answer);
}
}
'Algorithm' 카테고리의 다른 글
[프로그래머스] 연습문제 (x만큼 간격이 있는 n개의 숫자) (0) | 2022.09.23 |
---|---|
[프로그래머스] 연습문제 (행렬의 덧셈) (0) | 2022.09.23 |
[프로그래머스] 연습문제 (평균 구하기) (0) | 2022.09.23 |
[프로그래머스] 연습문제 (음양 더하기) (0) | 2022.09.23 |
[프로그래머스] 연습문제 (없는 숫자 더하기) (0) | 2022.09.23 |