반응형
🔍 문제 요약
https://school.programmers.co.kr/learn/courses/30/lessons/12948
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
전화번호 phone_number가 주어질 때 뒤어 4자리를 제외하고 모두 *로 바꾸어서 반환하는 문제
🧠 나의 접근 방식과 시행착오
약 3분 정도 걸린 문제. 그냥 길이 계산하고 뒤에 4자리 빼곤 *로 저장 후 string 다시 생성함.
/// <summary>
/// 핸드폰 번호 가리기
/// https://school.programmers.co.kr/learn/courses/30/lessons/12948
/// </summary>
public string solution(string phone_number)
{
var charArr = new char[phone_number.Length];
int phoneNumLen = phone_number.Length;
for (int i = 0; i < phoneNumLen; i++)
{
if (i < phone_number.Length - 4)
{
charArr[i] = '*';
}
else
{
charArr[i] = phone_number[i];
}
}
return new string(charArr);
}
✅ 풀이 코드
더 간결하게 해결한 버젼이라고 한다. (큰 차이는 나지 않는 듯 함)
public string solution(string phone_number)
{
return new string('*', phone_number.Length - 4) + phone_number.Substring(phone_number.Length - 4);
}
굳이 Linq를 사용한다면 아래처럼 풀 수 있다.
public string solution(string phone_number)
{
return string.Concat(phone_number
.Select((c, i) => i < phone_number.Length - 4 ? '*' : c));
}
🔄 정리
크게 어렵거나 고민할 문제가 아니라 정리할 부분은 따로 없다.
반응형
'Coding Test > Programmers' 카테고리의 다른 글
[Lv.1] 수박수박수박수박수박수? [프로그래머스_코딩테스트] [문자열] [10분] (0) | 2025.06.30 |
---|---|
[Lv.2] 행렬의 곱셈 [프로그래머스_코딩테스트] [2차원 배열, 구현] [25분] (0) | 2025.06.30 |
[Lv.2] 의상 [프로그래머스_코딩테스트] [해시] [25분] (0) | 2025.06.29 |
[Lv.1] 없는 숫자 더하기 [프로그래머스_코딩테스트] [수학] [10분] (0) | 2025.06.27 |
[Lv.1] 평균 구하기 [프로그래머스_코딩테스트] [수학] [10분] (0) | 2025.06.27 |