프로그래머스 Level 1
🔒 핸드폰 번호 가리기
프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.
phone_number | return |
---|---|
"01033334444" | "*******4444" |
"027778888" | "*****8888" |
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의 해당 위치 출력한다.
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는 두번 쓰기 귀찮아서 변수로 설정해줬다.
그다음 코드는 파이썬과 동일~😁
과거의 감자 아주 잘했어~ 👍
근데 파이썬 너무 오랜만에 보니 낯설다...🙄
틈틈히 파이썬도 공부해야겠다.
참 잘했어요👍