안녕하세요.
27회차 과제 "핸드폰 번호 가리기"입니다.
문제 설명
프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.
제한 사항
phone_number는 길이 4 이상, 20이하인 문자열입니다.
풀이
class Solution {
public String solution(String phone_number) {
String answer = "";
int cnt = phone_number.length() - 4;
String lastNumber = phone_number.substring(cnt);
answer = "*".repeat(cnt) + lastNumber;
return answer;
}
}
-. 끝 4자리만 남기고 모두 *로 가린다 에서 처음 생각했던 건 내용을 *로 바꾸자 였습니다.
-. 그러다가 문득 생각난 게 바꿀 필요 없이 끝 4자리만을 남기고 나머지는 그 길이만큼 *을 반복하면 되지 않을까?
-. 그렇게 해서 먼저 마지막 4자리의 번호만 따로 추출하였고
-. 엑셀의 rept라는 문자를 계속 반복해주는 함수가 있는데 그 함수처럼 작동하는 게 있을거라 생각했고 .repeat를 찾았습니다.
-. 끝 4자리만 남겨둔 채 앞부분은 *을 반복해주는 코드로 완성했습니다.
배운 것
String.repeat(int)
이 메서드는 특정 문자열을 특정 횟수만큼 반복하는 메서드입니다.
"반복할 문자열".repeat("반복횟수")
저처럼 처음해보시는 분들에게 이 글이 조금이나마 도움이 되었으면 좋겠습니다.
'내일배움캠프 > Daily Routine (알고리즘)' 카테고리의 다른 글
[내일배움캠프] 알고리즘 Daily Routine 29. 제일 작은 수 제거하기 (0) | 2024.09.12 |
---|---|
[내일배움캠프] 알고리즘 Daily Routine 28. 없는 숫자 더하기 (0) | 2024.09.11 |
[내일배움캠프] 알고리즘 Daily Routine 26. 음양 더하기 (0) | 2024.09.09 |
[내일배움캠프] 알고리즘 Daily Routine 25. 나누어 떨어지는 숫자 배열 (0) | 2024.09.06 |
[내일배움캠프] 알고리즘 Daily Routine 24. 서울에서 김서방 찾기 (0) | 2024.09.06 |
댓글