728x90
반응형
SMALL
코딩 테스트 연습 - 핸드폰 번호 가리기
https://programmers.co.kr/learn/courses/30/lessons/12948
문제설명:
프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.
제한사항:
phone_number는 길이 4 이상, 20이하인 문자열입니다.
phone_number | return |
"01033334444" | "*******4444" |
"027778888" | "*****8888" |
// 방법1 - substring 메서드
function solution(phone_number) {
const answer = phone_number.length - 4
return '*'.repeat(answer) + phone_number.substring(answer)
} // 문자열 추출 방법(string 메소드) - slice(), substring(), substr() 메소드 사용
// 방법2 - slice 메서드
function solution(phone_number) {
return '*'.repeat(phone_number.length - 4) + phone_number.slice(-4)
}
// 방법3 - slice 메서드, replace 정규식
function solution(phone_number) {
var answer = '';
answer = phone_number.slice(0,-4).replace(/[0-9]/g,'*') + phone_number.slice(-4);
return answer; // 뒤 4개를 제외한 앞의 숫자들 + 뒤 4개
} // 정규식을 이용하여 문자열 치환 -> replace(/[old str]/g, '[new str]')
// 플래그(g)는 검색 패턴을 비교할 때 일치하는 모든 부분을 선택하도록 설정함
// 번외 - 정규 표현식 사용(solution 함수 없이 사용)
function hide_numbers(s) {
return s.replace(/\d(?=\d{4})/g, '*');
} // \d는 숫자를 검색함 /[0-9]/와 같음
728x90
반응형
LIST
'기술 개발 > Algorithm test' 카테고리의 다른 글
[programmers] JS - x만큼 간격이 있는 n개의 숫자 (0) | 2022.07.16 |
---|---|
[programmers] JS - 행렬의 덧셈 (0) | 2022.07.16 |
[programmers] JS - 평균 구하기 (0) | 2022.07.15 |
[programmers] JS - 음양 더하기 (0) | 2022.07.15 |
[programmers] JS - 없는 숫자 더하기 (0) | 2022.07.15 |