Lv.1 핸드폰 번호 가리기

서현우·2022년 4월 20일
0

알고리즘 풀이

목록 보기
10/31

문제 설명

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

제한 조건

phone_number는 길이 4 이상, 20이하인 문자열입니다.

초기코드

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

내 풀이

// toCharArray()로 문자열을 문자배열로 만들어서 풀이

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

다른 풀이 1

// String을 char[] ch로 만든 후
// 뒤 4자리를 제외한 범위를 ch[i]='*'로 저장
// char[] ch를 String으로 변환해서 return

class Solution {
  public String solution(String phone_number) {
     char[] ch = phone_number.toCharArray();
     for(int i = 0; i < ch.length - 4; i ++){
         ch[i] = '*';
     }
     return String.valueOf(ch);
  }
}

다른 풀이 2

// 끝 4자리를 제외한 범위에서 answer에 "*"를 더함.
// 끝 4자리는 substring을 사용해서 answer에 더하고 return answer; 

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

        for (int i = 0; i < phone_number.length() - 4; i++)
            answer += "*";

        answer += phone_number.substring(phone_number.length() - 4);

        return answer;
  }
}
profile
안녕하세요!!

0개의 댓글