[Programmers/JAVA] 핸드폰 번호 가리기

    https://programmers.co.kr/learn/courses/30/lessons/12948

     

    코딩테스트 연습 - 핸드폰 번호 가리기

    프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자

    programmers.co.kr

     

     

     

    😂 문제점

    • 문제에 전화번호는 문자열 phone_number로 주어졌다는 것을 파악하지 못함
    • substring, lastIndexOf, replace 메소드를 모두 쓰려고 했다.

     

    💡 정답

    class Solution {
        public String solution(String phone_number) {
            String answer = "";
            String [] arr = phone_number.split("");
            
            for(int i=0;i<arr.length;i++){
                if(i<arr.length-4){
                    answer +="*";
                }else{
                    answer += arr[i];
                }
            }
            return answer;
        }
    }

     

     

    📖 해설

    • phone_number를 splint를 이용해서 arr 배열에 담는다. 그러면 [0,1,0,1,2,3,4,5,6,7,8]이 arr 배열에 담기고
    • 반복문을 이용해서 arr의 길이만큼 (위의 예시에서는 10만큼) 조건 검사를 해준다.
      • 만약 i가 arr의 길이 - 4 보다 작다면, answer에 *이 연이어서 담기게 된다.
      • 만약 i가 arr의 길이보다 크다면 (우리가 구하는 건 뒷번호 4자리만 출력되는 거니까!) arr [i] 번째 인덱스의 값을 answer에 담기게 된다.
    • 그리고 answer를 return 하면, *******5678의 값이 반환된다.

     

    🌱 배운 점

    • 기본에 충실하기, 너무 어렵게 생각하지 말고 쉽게 풀 방법 생각해보기
    • 문제 차근차근 잘 읽기! 코테도 기싸움이다!
    728x90

    댓글