본문 바로가기

핸드폰 번호 가리기

programmers code review/_step1 2021. 8. 9.
728x90

프로그래머스 1단계 Java 핸드폰 번호 가리기 문제입니다.


문제 설명

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

 

제한 조건

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

입출력 예

phone_number return
"01033334444" "*******4444"
"027778888" "*****8888"

 

문제 해결 방법

① 입력받은 문자열 길이에서 4만큼 뺀 값과 문자열 인덱스의 비교

    (1) 작을 경우 * 대입

    (2) 같거나 클 경우 해당 인덱스 값 대입

② 입력받은 문자열 길이만큼 ①을 반복


더보기
class Solution {
    public String solution(String phone_number) {
        String answer = "";
        for(int i = 0; i < phone_number.length(); i++) { // ② 입력받은 문자열 길이만큼 ①을 반복
			// ① 입력받은 문자열 길이에서 4만큼 뺀 값과 문자열 인덱스의 비교
			if(i < phone_number.length() - 4) {
				// (1) 작을 경우 * 대입
				answer += "*";
			}
			else {
				// (2) 같거나 클 경우 해당 인덱스 값 대입
				answer += phone_number.charAt(i);
			}
		}
        return answer;
    }
}

※ 위 코드는 해결 방법 중 한가지이며 더 효율적인 코드가 있을 수 있습니다.

 

문제 풀어보기 ▶ https://programmers.co.kr/learn/courses/30/lessons/12948?language=java
 

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

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

programmers.co.kr

'programmers code review > _step1' 카테고리의 다른 글

평균 구하기  (0) 2021.08.10
하샤드 수  (0) 2021.08.09
행렬의 덧셈  (0) 2021.08.08
x만큼 간격이 있는 n개의 숫자  (0) 2021.08.08
직사각형 별찍기  (0) 2021.08.08

댓글