https://programmers.co.kr/learn/courses/30/lessons/12948
방법 1 : 새 문자열 만들기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
class Solution {
public String solution(String phone_number) {
StringBuilder sb = new StringBuilder();
// 뒤 4자리 제외한 길이만큼 '*' append
for (int i = 0; i < phone_number.length() - 4; i++) {
sb.append('*');
}
sb.append(phone_number.substring(phone_number.length() - 4));
return sb.toString();
}
}
Colored by Color Scripter
|
방법 2 : 기존 문자열 -> char배열 -> '*' 대입
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
class Solution {
public String solution(String phone_number) {
// String -> char배열
char[] arrChar = phone_number.toCharArray();
// 0부터 길이 - 4까지 '*' 로 대체
for (int i = 0; i < arrChar.length - 4; i++) {
arrChar[i] = '*';
}
return String.valueOf(arrChar);
}
}
Colored by Color Scripter
|
방법 2가 더 빠르다.
문제에 더 충실하고 효율적인 것 같다.
'Algorithm > 프로그래머스' 카테고리의 다른 글
[프로그래머스]연습문제 : x만큼 간격이 있는 n개의 숫자 (level 1) (0) | 2019.11.07 |
---|---|
[프로그래머스]연습문제 : 행렬의 덧셈 (level 1) (0) | 2019.11.07 |
[프로그래머스]연습문제 : 하샤드 수 (level 1) (0) | 2019.11.07 |
[프로그래머스]연습문제 : 콜라츠 추측 (level 1) (0) | 2019.11.07 |
[프로그래머스]연습문제 : 최대공약수와 최소공배수 (level 1) (0) | 2019.11.07 |
댓글