728x90
1. 문제
프로그래머스 모바일은 개인정보 보호를 위한 고지서를 보낼 때 고객들의 전화번호 일부를 가린다.
전화번호 문자열 phone_number이 주어질때, 전화번호 뒷 4자리를 제외한 나머지 숫자를 전부 *로 가린
문자열을 리턴하는 함수, solution을 완성하세요.
2.제한 조건
- s는 길이 4이상, 20 이하면 문자열이다.
- 전화번호 뒷 4자리를 제외한 나머지 숫자를 전부 *로 가린 문자열을 리턴해준다.
3.문제 풀이
function solution(num) {
const len = num.length - 4;
return "*".repeat(len) + num.substring(len)
}
slice문법을 사용한 풀이법
function solution(pNum) {
return pNum.slice(-4).padStart(pNum.length, '*')
}
slice,padStart를 사용해 repeat을 이용하면 된다.
slice에 -4를 하면 해당 문자열 뒤에서부터 4글자를 뽑아주니 간편하게 출력이 가능하다.
멘토님의 풀이법
function solution(phone_number) {
let answer = "";
// 전환되는 시점에서 반복문
// 마지막 4자리는 별표와 아니면 원래 데이터 for문사용
for (let i = 0; i < phone_number.length; i++) {
console.log(i, phone_number[i]);
// 4자리에 첫번째를 들어오는 번호는 5 index 가 됨
// 3을 뺸 값인 5부터 뒤 4자리로 판단 해 5 index 앞지라 *추가
// 7인덱스 앞까지 6은 다 * 처리
// 뒤에 4자리 뺸 수보다 작을때까지
// 7보다 작을떄까지 0부터 6까지해서 6번째 index까지
// 5보다 작은 4인덱스 까지 찾는다.
if ( i < phone_number.length - 4) {
// 뒤 4자리는 * 처리
answer += "*"
// answer = answer + "*"; 축약해서 사용
} else {
// 뒤에 4자리라면 answer 값에 기존에 있는 데이터값 넣는다.
// 뒷 4자리를 그대로 넣어준다.
answer += phone_number[i]
};
}
// 뒤 4자리를 넣어준뒤 앞 *를 return
return answer;
console.log(answer)
}
str = "abcde";
// slice가 두번째 인자로 해당 inde까지 가 아닌 3번째 인덱스를 제외한 2번쨱 index까지 자른다는 뜻
// 해당 index slice를 짤라온 값 +1 해야 불러올수 있다.
str = str.slice( 1, 4 );
str
function solution(phone_number) {
let answer = "";
// 전환되는 시점에서 반복문
// 마지막 4자리는 별표와 아니면 원래 데이터 for문사용
for (let i = 0; i < phone_number.length; i++) {
console.log(i, phone_number[i]);
// 4자리에 첫번째를 들어오는 번호는 5 index 가 됨
// 3을 뺸 값인 5부터 뒤 4자리로 판단 해 5 index 앞지라 *추가
// 7인덱스 앞까지 6은 다 * 처리
// 뒤에 4자리 뺸 수보다 작을때까지
// 7보다 작을떄까지 0부터 6까지해서 6번째 index까지
// 5보다 작은 4인덱스 까지 찾는다.
if ( i < phone_number.length - 4) {
// 뒤 4자리는 * 처리
answer += "*"
// answer = answer + "*"; 축약해서 사용
} else {
// 뒤에 4자리라면 answer 값에 기존에 있는 데이터값 넣는다.
// 뒷 4자리를 그대로 넣어준다.
// phone_number 뒤 4자리를 뺸 값인 7 index 부터 가져옴
// 문자열 마지막 데이터까지 자라옴
// 12fmf제외한 6자리까지 잘라줌
answer += phone_number.slice(phone_number.length - 4, phone_number.length );
return answer
};
}
// 뒤 4자리를 넣어준뒤 앞 *를 return
// return answer;
// console.log(answer)
}
참고자료
'etc. > Algorithm' 카테고리의 다른 글
[프로그래머스 알고리즘 테스트] 짝수와 홀수 (0) | 2022.01.17 |
---|---|
[알고리즘 테스트] 문자열 정수로 변환하기 (0) | 2022.01.17 |
[알고리즘 테스트 대비] 사분면 고르기 (0) | 2022.01.17 |