728x90
- 문제 설명
프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때,
전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요. - 제한 조건
phone_number는 길이 4 이상, 20이하인 문자열입니다. - 입출력 예
phone_number return
"01033334444" "*******4444"
"027778888" "*****8888"
class Solution {
public String solution(String phone_number) {
String answer = "";
// 맨 뒤 숫자 4개 제외하고 모두 *로 변경하기
String star = "*".repeat(phone_number.length()-4);
answer = star + phone_number.substring(phone_number.length() - 4);
return answer;
}
}
- 문제풀이
1) 반복될 *의 개수를 먼저 구한다.
2) substring으로 받아오는 phone_number를 잘라서 보여줄 부분을 정한다.
> substring(시작점); 시작점을 알려주면 해당 부분의 끝까지 문자열을 잘라서 보여준다.
3) 그 둘을 합치면 문제해결
#다른 사람 풀이
class Solution {
public String solution(String phone_number) {
char[] ch = phone_number.toCharArray();
for(int i = 0; i < ch.length - 4; i ++){
ch[i] = '*';
}
return String.valueOf(ch);
}
}
- 내가 하고싶었던 풀이를 더 간단하게 해줬다.
- 우선 String 형의 phone_number를 toCharArray를 사용하여 한 자씩 끊어 배열에 담은 다음,
끝에서 네자리를 제외하고 나머지 숫자들을 다 *로 만든다.
- 마지막에 valueOf를 사용하여 char 배열을 String 객체로 변환시킨다.
**valueOf 개념 정확히 이해하고 적용하기!
728x90
'💻Programmers' 카테고리의 다른 글
[프로그래머스 / LV1] 수박수박수박수박수박수?(JAVA) (1) | 2023.10.04 |
---|---|
[프로그래머스 / LV1] 서울에서 김서방 찾기(JAVA) (0) | 2023.10.04 |
[프로그래머스 / LV1] 부족한 금액 계산하기(JAVA) (1) | 2023.10.03 |
[프로그래머스 / LV1] 하샤드 수(JAVA) (0) | 2023.10.03 |
[프로그래머스 / LV1] 나머지가 1이 되는 수 찾기(JAVA) (0) | 2023.10.03 |