1차 공부/알고리즘

핸드폰 번호 가리기

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

 

제한 조건
phone_number는 길이 4 이상, 20이하인 문자열입니다.

 

 

function solution(phone_number) {
    var answer = '';
    let closenum = '';
    let opennum = '';
    let pnl = phone_number.length   //이건 그냥 코드가 길어져서 짧게 만들어둠
    for (let i = 0; i < pnl-4; i++){    //*5678 5자리 pnl=5 0~4 닫아야하는 인덱스는 0까지
        closenum = closenum + '*'   //빈 문자열에 추가해야할만큼 *를 더함
    }
    for (let j=pnl-4; j<pnl; j++){  //열어야 하는 자리는 고정이지만 시작해야할 곳을 잘 지정해야함
        opennum = opennum + phone_number[j] //opennum에 시작해야하는 인덱스의 요소를 반복해 넣어줌
    }
    answer = closenum + opennum //문자열+숫자로 문자열을 만들어줌
    return answer;
}

 

다른사람이 푼 신기한 방식

const solution = n => [...n].fill("*",0,n.length-4).join("")

solution = n인데 n을 배열화 시킨 뒤, *으로 0번인덱스부터 n의길이-4까지 바꾸고 다시 문자열로만든다.

'1차 공부 > 알고리즘' 카테고리의 다른 글

x만큼 간격이 있는 n개의 숫자  (0) 2022.11.22
행렬더하기  (0) 2022.11.22
평균 구하기  (0) 2022.11.22
음양 더하기  (0) 2022.11.22
없는 숫자 더하기  (0) 2022.11.22