휴대폰 번호 가리기

문제정의


휴대폰 번호의 마지막 4자리를 제외하고 *로 가리는 문자열을 만드는 문제이다.

문제풀이


전체 코드는 다음과 같다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class PhoneNumBlind {

//프로그래머스 문제 풀이 level1 휴대폰 번호 가리기
public static void main(String[] args)
{
String phone_number = "01033334444";
StringBuilder buff = new StringBuilder();
for(int i = 0; i < phone_number.length()-4; i++)
buff.append("*");
buff.append(phone_number.substring(phone_number.length()-4, phone_number.length()));
String answer = buff.toString();

System.out.print(answer);
}

}
스트링 버퍼를 생성하여 끝에 4자리를 남겨두고 *을 추가한 다음에 나머지 4자리를 원래 문자열에서 잘라붙여 만들었다. 이 알고리즘의 총 시간복잡도는 휴대폰 번호의 총 길이를 n이라 할 때 \(O(n)\)이다.

테스트