https://programmers.co.kr/learn/courses/30/lessons/12948
😂 문제점
- 문제에 전화번호는 문자열 phone_number로 주어졌다는 것을 파악하지 못함
- substring, lastIndexOf, replace 메소드를 모두 쓰려고 했다.
💡 정답
class Solution {
public String solution(String phone_number) {
String answer = "";
String [] arr = phone_number.split("");
for(int i=0;i<arr.length;i++){
if(i<arr.length-4){
answer +="*";
}else{
answer += arr[i];
}
}
return answer;
}
}
📖 해설
- phone_number를 splint를 이용해서 arr 배열에 담는다. 그러면 [0,1,0,1,2,3,4,5,6,7,8]이 arr 배열에 담기고
- 반복문을 이용해서 arr의 길이만큼 (위의 예시에서는 10만큼) 조건 검사를 해준다.
- 만약 i가 arr의 길이 - 4 보다 작다면, answer에 *이 연이어서 담기게 된다.
- 만약 i가 arr의 길이보다 크다면 (우리가 구하는 건 뒷번호 4자리만 출력되는 거니까!) arr [i] 번째 인덱스의 값을 answer에 담기게 된다.
- 그리고 answer를 return 하면, *******5678의 값이 반환된다.
🌱 배운 점
- 기본에 충실하기, 너무 어렵게 생각하지 말고 쉽게 풀 방법 생각해보기
- 문제 차근차근 잘 읽기! 코테도 기싸움이다!
728x90
'📓 Study > Coding Test' 카테고리의 다른 글
[Programmers/JAVA] 자연수 뒤집어 배열로 만들기 (0) | 2021.10.25 |
---|---|
[Programmers/JAVA] 평균 구하기 (0) | 2021.09.24 |
[Programmers/JAVA] 직사각형 별찍기 (0) | 2021.09.22 |
[Programmers/JAVA] 짝수와 홀수 (0) | 2021.09.21 |
[BOJ] 10817 | 세 수 (0) | 2021.09.19 |
댓글