[Node.js_6기 사전캠프] Today I Learned _0717
2024. 7. 17. 17:55ㆍ[Node.js_6기 사전캠프]
핸드폰 번호 가리기 (JavaScript)
DB를 관리하다 보면 자주 접할 수 있는 핸드폰 번호 가리기.
하샤드 수, 콜라츠 추측 같은 수식부터 이해해야 하는 문제만 보다가 익숙한 기능을 보니 반갑기까지 했다.
전화번호 예시를 보아하니, 사무실 번호와 핸드폰 번호가 혼재되어 있다.
이는 곧, 자릿수가 다른 데이터들이 누적되어 있음을 주의해야 한다는 말.
자주 쓰던 FOR문을 사용해서 뒤의 4자리를 제외한 나머지 숫자에 * 을 밀어넣으면 될 것 같았다.
▶풀이
function solution(phone_number) { var answer = ""; for(let i=0; i<phone_number.length-4; i++) // for를 사용해서 phone_number의 전체 길이 중, 뒤의 4자리만 빼고 반복하는 조건을 걸어준다. answer += '*'; //조건에 해당하는 자릿수 만큼 특수문자를 밀어넣어준다. } return answer+phone_number.slice(-4) //뒤의 4자리를 제외하고 블러 처리된 전화번호, answer에 살려둔 뒷 4자리를 붙여준다. } |
FOR문에서 answer를 지정하는 게 매번 어렵게 느껴진다. answer +=로 숫자를 더하는 위주로만 사용했더니, 특수문자를 밀어넣는 데에도 사용할 수 있을 줄은 몰랐다. IF나 .push() 를 써야 하는 줄 알고 한참 조합해봤는데, 역시 기본기가 탄탄해야 고생을 덜 한다.
.slice()는 본 문제를 풀면서 처음 써봤다. 앞자리를 남기면 LEFT를 써봤을텐데, 뒷자리는 .slice(-n)을 많이 쓰는 것 같다.
'[Node.js_6기 사전캠프]' 카테고리의 다른 글
[Node.js_6기 사전캠프] Today I Learned_0704 (0) | 2024.07.04 |
---|---|
[Node.js_6기 사전캠프] Today I Learn_0701 (0) | 2024.07.01 |
[Node.js_6기 사전캠프] 개발 용어 정리 (0) | 2024.06.26 |
[Node.js_6기 사전캠프] 게임 서버 트랙에서 자바스크립트를 학습하는 이유 (0) | 2024.06.25 |
[Node.js_6기 사전캠프] JavaScript 톺아보기 (0) | 2024.06.24 |