문제 설명
프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.
phone_number | return |
---|---|
"01033334444" | *******2422 |
"027778888" | *****8888" |
class Solution {
public String solution(String phone_number) {
String answer = "";
return answer;
}
}
class Solution {
public String solution(String phone_number) {
String answer = "";
String str = new String(phone_number);
//문자열의 길이를 알고싶을땐 length() 사용!!!
for(int i = 0; i < str.length(); i++){
if(i < str.length()-4){
answer += "*";
}
else {
//charAt(i) 의 의미는 String으로 저장된 문자열 중에서 한 글자만 선택해서 char 타입으로 변환해준다.
//charAt(?) ?는 index 번호를 뜻한다. 몇번째 번호를 가져올것인지!! i가 8이면 8번째에 있는 문자를 가져온다는 뜻!
answer += str.charAt(i);
}
}
return answer;
}
}
처음에 문자열의 길이로 for문을 돌리고 싶었지만 방법을 몰랐기때문에 구글링을해서 length()를 찾게 되었다. 문자열의 길이에서 -4를 해주면 11-4하면 7이기 때문에 7만큼을 *를 해주도록 if문을 작성했다. else일 경우에는 어떻게 코드를 짜야할지 고민하다가.. 구글링을 또 하게 되었다. 하다보니 charAt()을 찾게 되었고, 주석 올린것과 같이 저장된 문자열 중에서 한글자만 선택하여 문자로 변환해주는 것이다. i번째 번호를 가져오면 answer에 추가하는 방법으로 코드를 작성했다.
주석 달면서 실습하는 거 넘 멋져요!!!!!!!!