개발자로 전향중

프로그래머스[Level1] 핸드폰 번호 가리기 본문

자료구조&알고리즘

프로그래머스[Level1] 핸드폰 번호 가리기

hovinee 2022. 1. 19. 17:37

문제 설명

프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.

제한 조건
  • s는 길이 4 이상, 20이하인 문자열입니다.
입출력 예phone_numberreturn
"01033334444" "*******4444"
"027778888" "*****8888"
function solution(phone_number) {
    var answer = '*'.repeat(phone_number.length-4)+phone_number.slice(-4); //뒤에서 4번째까지 자름
    return answer;
}

 

.repeat()

.repeat() – 문자열을 반복한 값을 반환하는 메서드입니다. IE는 Edge부터 지원합니다.

문법

string.repeat( count )

예제

'abc'.repeat( 2 )

abc를 두 번 반복한 abcabc를 반환합니다.

 

.slice()

 slice() 

arr.slice([begin[, end]])

array.slice(1, 3)

slice 함수는 잘라낼 배열의 시작index와 end index를 파라미터로 받아서,

그 사이의 원소들을 새로운 배열로 만들어서 리턴합니다.

이때 원본 배열인 arr은 변경되지 않습니다.

 

 파라미터 

begin

잘라낼 배열의 시작 index

 

end

잘라낼 배열의 종료 index

end index의 값은 잘라낼 배열에 포함되지 않습니다.

end index가 생략되면, begin index부터 배열의 끝까지를 잘라냅니다.

 

 리턴값 

잘라낸 원소들로 만든 새로운 배열을 리턴합니다.

 

 

 arr.slice(1, 3); 

배열의 arr[1] ~ arr[3] 까지(arr[3]은 미포함)를 복사한, 새 배열을 리턴합니다.

 

 arr.slice(1); 

두번째 파라미터인 end 값이 입력되지 않으면,

시작 index부터 배열의 끝까지를 복사한, 새 배열을 리턴합니다.

 

 arr.slice(-3, -1); 

begin index나 end index가 음수이면,

배열의 끝에서부터의 길이를 나타냅니다.

아래 그림을 참조하세요.

arr.slice(-3, -1)

 

slice() 함수를 이용하여

배열의 일부분을 잘라내어 리턴하는 방법을 알아보았습니다.

출처: https://hianna.tistory.com/398 [어제 오늘 내일]