Coding Test/프로그래머스

[프로그래머스 자바 JAVA] 핸드폰 번호 가리기 (level 1)

똧이 2022. 3. 18. 20:07
반응형

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

 

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

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

programmers.co.kr

 

 

 

 

문제 설명

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

 

제한 조건
  • s는 길이 4 이상, 20이하인 문자열입니다.
입출력 예
phone_number return
"01033334444" "*******4444"
"027778888" "*****8888"

 

풀이1

class Solution {
    public String solution(String phone_number) {
        String answer = "";

        for(int i = 0; i < phone_number.length() - 4; i++){
            answer += "*";
            // 1. 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린다.
        }

        answer += phone_number.substring(phone_number.length() - 4);
        // 2. 전화번호의 뒷 4자리를 substring로 잘라 answer에 붙인다.

        return answer;
    }
}

 

 

풀이2

import java.util.Arrays;

class Solution {
    public String solution(String phone_number) {
        char[] ch = phone_number.toCharArray(); // 1. 휴대폰 번호를 잘라 char 배열에 넣는다.

        for(int i = 0; i < ch.length - 4; i ++){
            ch[i] = '*'; // 2. 뒷자리 4자리를 제외하고 모두 *으로 바꾼다.
        }

        System.out.println("Arrays.toString(ch) = " + Arrays.toString(ch)); // 3. 뒷자리 4자리를 제외하고 모두 *으로 치환됨
        // Arrays.toString(ch) = [*, *, *, *, *, 8, 8, 8, 8]

        System.out.println("String.valueOf(ch) = " + String.valueOf(ch)); // 4. 배열이 String 형태로 변환됨.
        // String.valueOf(ch) = *****8888

        return String.valueOf(ch);
    }
}
728x90