Q. 핸드폰 번호 가리기
A.
class Solution {
public String solution(String phone_number) {
String answer = "";
//가독성을 높이기 위해 길이를 나타내는 변수 새로 선언
//phone_number.length()를 사용하게 되면 메서드 호출이기 때문에 length 처럼 필드 접근하는 것이 효율적인 면에서도 좋음
int length = phone_number.length();
//*로 바꿔줄 문자열을 새로 선언한 후에 repeat 사용
//repeat는 문자열을 주어진 횟수만큼 반복하는 메서드다.
//repeat(length-4)를 하게되면 길이-4만큼을 *로 바꾸겠다는 뜻이다.
//repaeat로 뒷 4자리 빼고 다 *로 바꿨으니까 stars+뒷4자리를 반환하면 된다.
String stars = "*".repeat(length-4);
answer = stars + phone_number.substring(length-4);
return answer;
}
}
<새로 알게 된 것>
1. 적절히 치환하는 것이 중요하다. 길어지니까 코드가 헷갈림
2. repeat()
-String 메서드 중 하나로 String 문자열을 파라미터가 주어진 횟수만큼 반복
-파라미터가 0이면 빈 문자열 반환
-파라미터가 음수면 illegalArgumentExceptionthrow 에러 발생
-파라미터가 1이면 문자열 그대로 반환
"바꿀 값".repeat(숫자); 숫자만큼 바꿈
str.repeat(숫자); // 문자열 반복
'알고리즘, 코딩테스트' 카테고리의 다른 글
[프로그래머스/ 코딩테스트 연습문제] 제일 작은 수 제거하기 (0) | 2024.11.11 |
---|---|
[프로그래머스/ 코딩테스트 월간코드챌린지 시즌3] 없는 숫자 더하기 (0) | 2024.11.10 |
[프로그래머스/ 코딩테스트 월간코드챌린지 시즌2] 음양 더하기 (0) | 2024.11.05 |
[프로그래머스/ 코딩테스트 연습문제] 나누어 떨어지는 숫자 배열 (0) | 2024.11.05 |
[프로그래머스/ 코딩테스트 연습문제] 서울에서 김서방 찾기 (0) | 2024.11.04 |