문제 설명
프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.
제한 조건
phone_number는 길이 4 이상, 20이하인 문자열입니다.
풀이 방법
1. String 내장 함수 활용
function solution(num) {
return '*'.repeat(num.length - 4)+num.slice(-4);
}
마치며
여태 코드를 짜면서 내장 함수는 필요할 때만 찾아보면서 아주 조금 사용했는데, 코딩테스트 연습 문제를 풀어보면서 다양한 내장함수에 대해 알게 되었다.
문제를 풀 때 아는게 for반복문, if 조건문 밖에 몰랐는데... 조건문으로 쓸 때 길어지는 코드를 한줄로 간단하게 정리 할 수 있다는점..
이 문제를 봤을 때는 문자열 순서로 세는 법을 검색해봤다. String의 내장함수를 찾아보다 slice를 봤고 이 메소드를 적용해봐야겠다고 생각했다. 숫자들을 *로 바꾸는건 문자를 변환하는 함수를 써야하나...? 생각했지만 그냥 간단하게 숫자의 길이만큼 *을 출력하면 된다는것..
참고:
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/slice
번호 자릿수가 11자리로 정해진 것이 아니기 때문에, 뒤에서 4글자는 그대로 출력, 문자의 길이에서 4개를 뺀건 *로 출력 하는 코드를 짰다.
'Programmers' 카테고리의 다른 글
[JavaScript] 문자열에서 특정 문자 개수 구하는 방법 (0) | 2022.08.08 |
---|---|
[Programmers] Level1 직사각형 별 찍기 (자바스크립트) (0) | 2022.08.06 |