반응형
문제 설명
프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.
제한 조건
- s는 길이 4 이상, 20이하인 문자열입니다.
입출력 예
phone_number return
"01033334444" | "*******4444" |
"027778888" | "*****8888" |
휴대폰번호와 전화번호 구분없이 맨 뒷자리 4자리를 제외한 나머지 숫자는 마스킹 처리하면 되는 문제.
실무에서는 쿼리로도 해결 가능하고 자바로도 해결 가능한 문제이다!
다른 레벨1 문제들을 많이 풀면서 항상 언제풀지~ 하면서 봤던 문제인데 오랜만에 가볍게 풀어봤다.
너무 가볍게 풀어서 그른가 1점 받은건... 크흠
아래는 해답
package list;
public class Programmers_HideOnPhoneNumber {
public static String solution(String s) {
String answer = "";
// 맨 뒤 4자리의 수를 제외한 나머지 문자를 * 로 바꿔주기 위해
// 반복문을 돌리면서 비어있는 answer 변수에 * 를 넣어준다.
for (int i = 0; i < (s.length() - 4); i++) {
answer += "*";
}
// 반복문이 종료되면 맨 마지막 문자를 붙여준다
answer += s.substring(s.length() - 4);
// 결과 리턴
return answer;
}
public static void main(String[] args) {
// 파라미터
String s = solution("01033334444");
// 결과 출력
System.out.print(s);
}
}
이렇게 해도 되나~~ 하면서 작성했던 거 같은데.. 정말 단순하고 무식하게 풀었다
그래도 평상시 쓰던것들을 가지고 문제를.. 풀었으니까.. 이게 최선...인 거 같다
간단하게 설명하면 맨 뒤 4개의 숫자를 제외한 나머지 숫자만큼 실행되는 반복문을 작성하는데,
반복문이 실행되는만큼 리턴해야하는 변수에 "*"를 += 연산자로 누적(?)시켜주고
반복문이 종료되면 위의 변수에 맨 마지막 4글자를 붙여주고 최종적으로 리턴한다.
이렇게 생각하고 접근해서 풀었더니 생각한대로 답이 나오긴 했다.
다른 사람들의 답안을 확인했는데 역시 세상은 넓고 고수는 많다고 느꼈다.
앞으로도 야무듸게 해야딩
![](https://t1.daumcdn.net/keditor/emoticon/friends1/large/005.gif)
반응형