C# 핸드폰 번호 가리기 - 프로그래머스 [Lv.1]

출처: 프로그래머스 코딩 테스트 연습
https://school.programmers.co.kr/learn/courses/30/lessons/12948

 

 

 

나의 풀이

using System.Linq;

public class Solution {
    public string solution(string phone_number) {
        var array = phone_number.Select((e, index) => index >= (phone_number.Length - 4) ? e : '*')
                                .ToArray();
        return new string(array);
    }
}

Linq 의 리턴값에서 string을 만드는 방법 중 가장 빠른 것은 ToArray()로 리턴 시킨다음 new string() 에 넣는 것.

 

 

다른 사람 풀이

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

PadLeft는 처음봤는데,

문자열.PadLeft(원하는 길이, '채워넣을문자'); 로 호출하면 오른쪽으로 밀어버리고,

왼쪽부터 빈 공간을 '채워넣을 문자'로 넣어준다. 오벌이드로 문자없이 넘기면 공백으로 채워준다.

당연히 오른쪽 버전인 PadRight 도 있다.

 

 

댓글

Designed by JB FACTORY