Paradox Simulation

728x90
반응형

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

 

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

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

programmers.co.kr

 

핸드폰 번호 가리기

이번 문제는 치환에 관한 문제였다.

 

문제 설명

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

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

 

다음에서 문제를 풀때 다음과 같이 생각했다.

 

  1. String은 불변 자료형이기 때문에 우선 StringBuffer를 이용하여 가변 자료형으로 바꾸자.
  2. 앞에서 4자리 이전까지는 *로 채우고 (append 기능)
  3. 뒤에서 4자리는 그냥 그대로 더해주자 (substring 기능)
  4. 답을 그대로 리턴하자

 

 

class Solution {
    public StringBuffer solution(String phone_number) {
        StringBuffer sb = new StringBuffer();
        for (int i = 0 ; i < phone_number.length()-4 ; i++)
            sb.append("*");
        sb.append(phone_number.substring(phone_number.length()-4));
        return sb;
    }
}

여기서 StringBuffer에 대한 설명은 다음과 같다.

2022.06.21 - [기본/Java] - Java - StringBuffer

 

 

실행 결과
채점을 시작합니다.
정확성 테스트
테스트 1  통과 (0.06ms, 73.6MB)
테스트 2  통과 (0.10ms, 74.5MB)
테스트 3  통과 (0.06ms, 67.4MB)
테스트 4  통과 (0.11ms, 73MB)
테스트 5  통과 (0.07ms, 76MB)
테스트 6  통과 (0.07ms, 70.8MB)
테스트 7  통과 (0.08ms, 70.6MB)
테스트 8  통과 (0.06ms, 76MB)
테스트 9  통과 (0.05ms, 73.1MB)
테스트 10  통과 (0.07ms, 74.2MB)
테스트 11  통과 (0.06ms, 76.1MB)
테스트 12  통과 (0.06ms, 74.6MB)
테스트 13  통과 (0.07ms, 74.6MB)
채점 결과
정확성: 100.0
합계: 100.0 / 100.0
 

 

 

728x90
반응형
250x250
반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band