
class Solution {
public String solution(String phone_number) {
String answer = "";
int length = phone_number.length();
return answer = "*".repeat(length-4) + phone_number.substring(length-4);
}
}
간단하게 입력된 전화번호에서 마지막 4번째를 제외하고 " * "로 바꿔준 뒤 출력하면 되는 간단한 문제이다.
처음에는 문제를 보고나서 문자열 길이를 구하고 11자리일때와 10자리일때 2가지를 통해서 코드를 작성해보려고 했었으나,
repeat, substring 메서드를 통해 간단히 해결할 수 있었다.
repeat - " * "라는 문자를 길이에서 (length - 4)만큼 반복한다.
substring - 문자열 길이에서 (length - 4)의 해당하는 부분을 추출한다.
그래서 뒤에 4가지만 빼고 *을 출력하고 + 를 통해 마지막 뒷자리 4개를 추출해서 붙여주면 해결이 되는 문제였다.
이때 repeat메서드를 처음 사용해봐서 기억해둬야할것같다.
'프로그래머스 문제 풀이' 카테고리의 다른 글
| Lv0 - 이어 붙인 수 (0) | 2025.02.22 |
|---|---|
| Lv1 - 직사각형 별찍기 (0) | 2025.02.21 |
| Lv1 - 두 개 뽑아서 더하기 (0) | 2025.02.19 |
| Lv1 - 음양더하기 (0) | 2025.02.19 |
| Lv1 - 숫자 문자열과 영단어 (0) | 2025.02.19 |