09.19 프로그래머스 코딩테스트

곽민규·2023년 9월 19일
0

코딩테스트 연습

목록 보기
10/12

핸드폰 번호 가리기

문제 설명

프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.

제한 조건

phone_number는 길이 4 이상, 20이하인 문자열입니다.

나의 답안

public class Solution {
    public string solution(string phone_number) {
        string answer = "";
        char[] num = phone_number.ToCharArray();
        
        for (int i = 0; i < num.Length - 4; i++) {
            num[i] = '*';
        }
        
        return answer = new string(num);
    }
}

string을 ToCharArray로 char 배열로 변환하여 숫자를 * 로 가리는 작업을 했다.

풀고나서 다른사람들의 풀이를 보니 string 에 있는 Substring 메서드와 PadLeft 기능을 이용하면 더 간결하게 풀 수 있는것을 확인했다.

Substring은 특정 위치서 부터 문자열을 자르거나, 특정 위치까지 자를 수 있는 메서드다. 자세한건 아래 다른분이 정리해주신 블로그나 공식사이트의 설명을 보는게 빠를것 같다.

https://gent.tistory.com/502 >> 블로그

https://learn.microsoft.com/ko-kr/dotnet/api/system.string.substring?view=net-7.0 >> 공식사이트

PadLeft 기능은 string 문자열 왼쪽으로 특정문자를 입력하고싶을때 사용할 수 있는 메서드다. PadRight 메서드로 오른쪽으로 입력도 가능하다.

https://learn.microsoft.com/ko-kr/dotnet/api/system.string.padleft?view=net-7.0

위에서 배운걸 활용한다면 아주 간결하게 코드를 바꿀 수 있다.

public class Solution {
    public string solution(string phone_number) {
        answer = phone_number.Substring(phone_number.Length - 4).PadLeft(phone_number.Length, '*');
        return answer;
    }
}
profile
취준생

0개의 댓글