[TIL] slice() , repeat()

seungbox·2023년 2월 15일
0

TIL

목록 보기
4/13

https://school.programmers.co.kr/learn/courses/30/lessons/12948

문제설명

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

코딩테스트 문제를 풀던 도중 slice()와 repeat()를 배우게 되었다.

메소드를 알고 있다면 쉽게 풀 문제 였던 것 같다.
나는 string을 써서 문자열로 바꿔야 하나? 라는 생각을 했었는데
repeat와 slice( 또는 substring)로 풀수 있었다.

function solution(phone_number) {
  const len = phone_number.length - 4;
  return  '*'.repeat(len)  + phone_number.slice(-4)
 - .repeat()
   주어진 횟수 만큼 반복해 새로운 문자열을 반환하는 메소드
   
 - .slice(index, endindex)
    index부터 endindex(포함시키지 않음) 까지의 복사본을 반환
   * 얕은복사이므로 원본은 바뀌지 않는다.
  • 먼저 문자열의 길이를 구하여 숫자 그대로 유지 길이를 빼준다. (= 변경할 문자열의 길이)
    그리고 repeat을 통해 위에서 구한 변경할 문자열을 '*'으로 바꿔준다
    마지막으로 문자열의 변경하지 않을 길이만큼을 slice로 자른 후 두 문자열의 합친다
profile
함께 하는 개발자

0개의 댓글