https://programmers.co.kr/learn/courses/30/lessons/12948
코딩테스트 연습 - 핸드폰 번호 가리기
프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자
programmers.co.kr
기본틀
class Solution {
public String solution(String phone_number) {
String answer = "";
return answer;
}
}
첫번째 시도
class Solution {
public String solution(String phone_number) {
String answer = "";
int n = phone_number.length();
for(int i = 0; i < n-4; i++){
answer = answer + "*";
}
answer = answer + phone_number.substring(n-4, n);
return answer;
}
}
성공하긴 했지만 만족스럽지 못한 코드! ( •︠ˍ•︡ )
* substring()
https://wikidocs.net/205#substring
03-04 문자열 (String)
[TOC] 문자열이란 문장을 뜻한다. 예를 들어 다음과 같은 것들이 문자열이다. ```no-highlight Happy Java a 123 ``` 자 ...
wikidocs.net
- 다른사람의 풀이-
새롭게 string 을 만들어서 붙여넣는 방식 말고, 원래의 string 에서 앞부분만 *로 변경하고 싶었는데
그런 코드가 다른 사람 풀이에 있었다 ↓
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);
}
}
그렇게 하려면 먼저 문자열을 배열로 바꿔야 함
.toCharArray() 를 쓰면 문자열을 한 글자씩 쪼개서 char 타입 배열에 넣어줌
다시 String.valueOf() 으로 배열을 문자열로 반환
'프로그래머스 > Lv.1' 카테고리의 다른 글
Lv.1 평균 구하기 (0) | 2022.05.24 |
---|---|
Lv.1 하샤드 수 (0) | 2022.05.24 |
Lv.1 행렬의 덧셈 (0) | 2022.05.24 |
Lv.1 x만큼 간격이 있는 n개의 숫자 (0) | 2022.05.23 |
Lv.1 직사각형 별찍기 (0) | 2022.05.23 |