728x90
코드 힌트
- StringBuilder 사용:
- 문자열을 자주 수정하는 경우, StringBuilder를 사용하면 효율적입니다. 물론 String을 사용하셔도 상관없는 문제이지만 StringBuilder 연습도 같이 하면 좋을 것 같습니다.
- 문자열 길이 확인:
- 전화번호의 길이를 확인하여 반복문을 통해 각 문자를 처리합니다. 반복문은 전화번호의 길이만큼 실행됩니다.
- 조건문 사용:
- 조건문을 사용하여 마지막 4자리가 아닌 경우에는 '*'를 추가하고, 마지막 4자리는 원래 숫자를 그대로 추가합니다.
- StringBuilder 결과 반환:
- 모든 문자에 대해 처리가 끝난 후, StringBuilder 객체를 문자열로 변환하여 반환합니다. StringBuilder의 toString() 메서드를 사용합니다.
- 메소드 활용하여 문제풀기:
- for 문을 사용하셔도 괜찮지만 String에는 substring() 메소드와 repeat() 메소드가 있습니다.
- 정답에 같이 적어놓겠습니다.
더보기
class Solution {
public String solution(String phone_number) {
// StringBuilder 객체를 생성하여 결과 문자열을 만들기 위해 사용
StringBuilder sb = new StringBuilder();
// 전화번호의 각 문자에 대해 반복
for (int i = 0; i < phone_number.length(); i++) {
// 마지막 4자리가 아닌 경우 '*'를 추가
if (i < phone_number.length() - 4) {
sb.append("*");
} else {
// 마지막 4자리는 원래 번호를 그대로 추가
sb.append(phone_number.charAt(i));
}
}
// StringBuilder를 문자열로 변환하여 반환
return sb.toString();
}
}
substring(), repeat() 활용하기
class Solution {
public String solution(String phone_number) {
// "*".repeat(phone_number.length() - 4) "*"를 n개 만큼 생성합니다.
// phone_number.substring(phone_number.length() - 4, phone_number.length()) 문자열의 n~m-1까지 자릅니다.
return "*".repeat(phone_number.length() - 4) + phone_number.substring(phone_number.length() - 4, phone_number.length());
}
}
728x90
'프로그래머스(Java) > Level 1' 카테고리의 다른 글
[프로그래머스] 달리기 경주 (0) | 2024.08.02 |
---|---|
[프로그래머스] 수박수박수박수박수박수? (0) | 2024.08.01 |
[프로그래머스] 평균 구하기 (0) | 2024.08.01 |
[프로그래머스] 서울에서 김서방 찾기 (0) | 2024.08.01 |
[프로그래머스] 숫자 짝꿍 (0) | 2024.07.30 |