[프로그래머스] 핸드폰 번호 가리기-JAVA&Python

말하는 감자·2022년 5월 9일
1

Programmers Level 1

목록 보기
4/66
post-thumbnail

프로그래머스 Level 1

🔒 핸드폰 번호 가리기

📚 문제 설명

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


✅ 제한 조건

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

📖 입출력 예

phone_numberreturn
"01033334444""*******4444"
"027778888""*****8888"

🗝️ Python 작성 코드

def solution(phone_number):
    answer = ''

    for i in range(len(phone_number)):
        if i < len(phone_number) - 4:
            answer += '*'
        else:
            answer += phone_number[i]
    return answer

감자는 원래 코딩 테스트를 파이썬으로 준비했었기 때문에 기존에 풀었던 문제는 파이썬으로 저장이 되어있다.

for문의 i가 phone_number의 길이에서 4를 뺀 것보다 작으면 * 출력하고
위의 조건보다 i가 더 커지면 phone_number의 해당 위치 출력한다.


🗝️ JAVA 작성 코드

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

이미 옛날의 감자가 작성한 파이썬 코드를 봐버렸으니 비슷한 로직밖에 생각이 나지 않았다. (애써 변명중🙃)

방법은 동일하되 자바는 전처리가 필요하다.
String을 String 배열로 변경하는 것!
그래서 String 배열인 num을 선언해주고 phone_number을 한문자씩 split 해줬다.

num.length는 두번 쓰기 귀찮아서 변수로 설정해줬다.

그다음 코드는 파이썬과 동일~😁


😋 느낀점

과거의 감자 아주 잘했어~ 👍

근데 파이썬 너무 오랜만에 보니 낯설다...🙄
틈틈히 파이썬도 공부해야겠다.

profile
나는 말하는 감자다

1개의 댓글

comment-user-thumbnail
2022년 5월 9일

참 잘했어요👍

답글 달기