반응형
문제
https://school.programmers.co.kr/learn/courses/30/lessons/12948
- 소요 시간 : 10분
- 난이도 : LV 1
나의 풀이
접근 방법
인덱스를 기반으로 뒤에서 4번째 전이라면 *, 아니라면 문자 그대로를 추가한다.
시간복잡도
O(N)
N = 문자열 길이
코드
import java.util.*;
import java.lang.StringBuilder;
class Solution {
public String solution(String phone_number) {
StringBuilder sb = new StringBuilder();
for(int i=0; i<phone_number.length(); i++) {
if (i >= phone_number.length() - 4) {
sb.append(phone_number.charAt(i));
} else {
sb.append('*');
}
}
return sb.toString();
}
}
결과 : 정답
다른 사람의 풀이
접근 방법
1. string을 charArray로 변경한다.
2. 뒤에서 4번째 이전은 *로 변경한다.
시간복잡도
O(N)
N = 문자열 길이 - 4
코드
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);
}
}
결과 : 정답
정리
아직 한참 배워야겠다 .. ㅎㅎ
반응형
'코딩테스트' 카테고리의 다른 글
[프로그래머스] 음양 더하기 - Java (0) | 2024.11.17 |
---|---|
[프로그래머스] 콜라츠 추측 - Java (0) | 2024.11.16 |
[프로그래머스] 연도별 대장균 크기의 편차 구하기 - MySQL (2) | 2024.11.13 |
[프로그래머스] 서울에서 김서방 찾기 - Java (0) | 2024.11.10 |
[프로그래머스] ROOT 아이템 구하기 - MySQL (0) | 2024.11.09 |