Level. 1
문제
풀이
class Solution {
public String solution(String phone_number) {
String answer;
// 주어진 문자열을 문자 어레이로 변환
char[] ch = phone_number.toCharArray();
for(int i=0; i<ch.length-4; i++){
ch[i] = '*';
}
// 문자 어레이를 다시 문자열로 변환
answer = String.valueOf(ch);
return answer;
}
}
String.toCharArray()
문자열(String)을 char형 배열로 바꿔준다.
반환되는 배열의 길이는 문자열의 길이와 같다.
String.valueOf()
Object의 값을 String으로 변환한다.
String.valueOf() 와 toString()
- String.valueOf() : 대상 값이 null이면 문자열 "null"을 만들어서 반환한다.
-
toString() : 대상 값이 null이면 NullPointerException 오류를 발생시킨다.
다른 풀이
class Solution {
public String solution(String phone_number) {
return phone_number.replaceAll(".(?=.{4})", "*");
}
}
정규식(regex)을 이용한 풀이이다.
- . : 문자 하나를 의미
- (?=.) : 뒷쪽의 문자 한 개를 제외하고 선택
- {숫자} : 숫자만큼의 자리수
>> .(?=.{4}) : 맨 뒤 4자리 숫자를 제외하고 임의의 문자 하나를 선택한다.
replace() , replaceAll() , replaceFirst()
- replace(찾을문자열, 바꿀문자열) : 변경하고자 하는 문자열을 찾아 치환한다.
- replaceAll(정규식 또는 기존문자, 대체문자) : 문자열에서 특정 문자를 다른 문자로 전체 치환한다. 정규식을 사용하지 않으면 replace와 동일하다.
- replaceFirst(정규식 또는 기존문자, 대체문자) : 문자열에서 처음 찾은 문자 하나만 변경처리한다.
https://school.programmers.co.kr/learn/courses/30/lessons/12948?language=java
'Algorithm > Programers - Java' 카테고리의 다른 글
[프로그래머스(Java)] 하샤드 수 - Stream (0) | 2023.07.05 |
---|---|
[프로그래머스(Java)] 삼총사 - DFS (0) | 2023.07.05 |
[프로그래머스(Java)] 행렬의 덧셈 (0) | 2023.07.04 |
[프로그래머스(Java)] 소수 만들기 (0) | 2023.07.04 |
[프로그래머스(Java)] 소수찾기 (0) | 2023.07.04 |