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

2021. 5. 23. 20:13·코딩 테스트/Java
반응형
핸드폰 번호 가리기
문제 설명

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

제한 조건
  • s는 길이 4 이상, 20이하인 문자열입니다.
입출력 예
phone_number return
"01033334444" "*******4444"
"027778888" "027778888"
코드
class Solution {
    public String solution(String phone_number) {
        String answer = "";
        for(int i=0; i<phone_number.length(); i++){
           if(phone_number.length()-i > 4){
                answer += "*";
            }else{
                char ch = phone_number.charAt(i);
                answer += Character.toString(ch);}
        }
        return answer;
     }
}
해설

나는 phone_number - x = 4를 생각해서 x의 값을 구해서 x값이 길이가 4보다 클 때 빈 문자열 answer에 "*"를 하나씩 추가해주는 방법을 생각해서 풀었다.

문제를 해결하고 다른 사람들의 정답을 보니 정말 허탈했다.

정규식을 사용해서 1줄로 끝내는 사람, subString을 사용해 간단하게 끝내는 사람. 아직 가야 할 길이 멀다.

코드를 작성하기 전에 일단 먼저 어떤 식으로 설계를 할지 생각해야 하는 습관을 가져야겠다.

 

수정한 코드
class Solution {
    public String solution(String phone_number) {
        String answer = "";
        for(int i=0; i<phone_number.length() - 4; i++) {
            answer += "*";
        }
        return answer + phone_number.substring(phone_number.length() - 4);
    }
}

 

phone_number 길이 -4 만큼 "*"로 채워준후 

substring 메서드를 이용해서 phone_number 끝 4자리를 answer에 추가했다.

 

출처 : 프로그래머스, https://programmers.co.kr/learn/courses/30/lessons/12948

반응형
저작자표시 (새창열림)

'코딩 테스트 > Java' 카테고리의 다른 글

[프로그래머스]Level 1 : 평균 구하기(JAVA)  (0) 2021.05.23
[프로그래머스]Level 1 : 하샤드 수(JAVA)  (0) 2021.05.23
[프로그래머스]Level 1 : 문자열을 정수로 바꾸기(JAVA)  (0) 2021.05.18
[프로그래머스]Level 1 : 짝수와 홀(JAVA)  (0) 2021.05.17
[프로그래머스]Level 1 : x만큼 간격이 있는 n개의 숫자(JAVA)  (0) 2021.05.17
'코딩 테스트/Java' 카테고리의 다른 글
  • [프로그래머스]Level 1 : 평균 구하기(JAVA)
  • [프로그래머스]Level 1 : 하샤드 수(JAVA)
  • [프로그래머스]Level 1 : 문자열을 정수로 바꾸기(JAVA)
  • [프로그래머스]Level 1 : 짝수와 홀(JAVA)
:j
:j
ddongjunn@gmail.com
  • :j
    dev.j
    :j
  • 전체
    오늘
    어제
    • :j
      • 프로그래밍 언어
        • Java
        • html
        • JavaScript
        • XML
        • JSON
        • CSS
        • jQuery
        • Web
        • k8s
        • JPA
      • 프레임워크
        • Spring
      • 코딩 테스트
        • Java
      • 네트워크
        • CCNA
      • 데이터베이스
        • Mssql
        • Oracle
      • 회고
      • :j story
      • CS
  • 블로그 메뉴

    • 홈
    • 태그
    • github
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    다형성
    항해플러스백앤드
    항해플러스
    MSSQL
    class
    Name
    HAVING
    항해솔직후기
    항해플러스백엔드
    항해99
    멤버변수
    <br>
    group by
    appendChild
    오버로딩
    오버라이딩
    Queue
    id
    지역변수
    항해백앤드
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
:j
[프로그래머스]Level 1 : 핸드폰 번호 가리기(JAVA)
상단으로

티스토리툴바