Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
Tags
- 웹 성능 최적화
- dom
- macos flutter
- 웹개발
- #프론트엔드개발
- 컴포넌트
- 패키지 스크립트
- 자바스크립트
- 웹 개발
- JavaScript
- 코드리뷰
- jsx
- cmdline-tools missing
- 국제화(i18n)
- 풀스택 개발
- 퍼포먼스 최적화
- React
- 프라미스체이닝
- Promise
- 프론트엔드
- aondroid toolchain 오류
- fe
- 비동기프로그래밍
- flutter android sdk
- html
- 자바스크립트공부
- flutter 오류
- css
- Node.js
- 웹 성능
Archives
- Today
- Total
sodol-dotcom
[Algorithm] 핸드폰 번호 가리기 본문
1. 문제 개요
- 문제 제목: 핸드폰 번호 가리기
- 문제 설명: 프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해 주세요.
- 문제 해설: 개인정보 보호를 위해 핸드폰 번호를 숨겨야 한다. 주어진 전화번호 문자열
phone_number에서, 뒷 4자리를 제외한 나머지 숫자를 모두*로 가려서 반환하는 함수를 작성해야 한다.
2. 문제 해결 전략
- 단계 1: 전화번호의 길이를 계산하고, 뒷4 자리를 제외한 나머지 부분을 파악한다.
- 단계 2: 나머지 부분을
*로 대체한다. - 단계 3: 마지막 4자리와
*로 가린 부분을 결합하여 반환한다.
3. 코드 분석
function solution(phone_number) { // 전화번호 길이에서 마지막 4자리만 남기고, 나머지는 '*'로 대체한다. var answer = '*'.repeat(phone_number.length - 4) + phone_number.slice(-4); return answer; }
3-1) 메소드 및 함수 설명
- 메소드/함수 이름:
repeat()- 용도: 문자열을 주어진 횟수만큼 반복한다.
- 설명: 지정된 횟수만큼 문자열을 반복하여 새로운 문자열을 생성한다.
'*'.repeat(phone_number.length - 4)는 다음과 같은 의미를 가진 표현식이다.'*': 문자열'*'을 나타낸다.repeat(n): 이 메소드는 문자열을n번 반복하여 새로운 문자열을 만든다.- 즉,
'*',repeat(phone_number.length - 4)는 전화번호의 전체 길이에서 마지막 4자리를 제외한 부분을'*'`로 채운 문자열을 생성한다. - **phone_number.slice(0, 4)**는 문자열의 처음부터 인덱스 4까지의 부분 문자열인 '1234'를 반환한다.
- **phone_number.slice(-4)**는 문자열의 마지막 4자리를 반환하여 '7890'을 생성한다.
- 사용 예:
'abc'.repeat(3)은'abcabcabc'문자열을 반환한다.
- 메소드/함수 이름:
slice()- 용도: 문자열의 일부를 잘라서 반환한다.
- 설명: 문자열의 특정 부분을 잘라내어 새로운 문자열을 생성한다. 음수 인덱스를 사용하여 문자열의 끝에서부터 잘라낼 수 있다.
- 사용 예:
'12345'.slice(-4)은'2345'문자열을 반환한다.
3-2) 코드 분석 부분
- 중요 코드 부분:
'*'.repeat(phone_number.length - 4) + phone_number.slice(-4)
- 설명:
'*'.repeat(phone_number.length - 4)는 전화번호의 뒷 4자리를 제외한 나머지 부분을*로 가린다.phone_number.slice(-4)는 전화번호의 마지막 4자리를 잘라낸다. 두 부분을 합쳐서 최종 결과를 생성한다. - 장점: 코드가 간결하고 직관적이다.
repeat()메소드와slice()메소드를 사용하여 문제를 쉽게 해결할 수 있다.
4) 코드의 역할 및 활용
4-1) 코드의 역할
- 주어진 전화번호에서 뒷 4자리를 제외한 나머지 부분을
*로 가려서 개인정보를 보호하는 데 사용된다. 최종적으로 가려진 전화번호 문자열을 반환하여 결과를 제공한다.
4-2) 적용 예시
- 개인정보 보호가 필요한 상황에서 유용하다. 예를 들어, 사용자에게 전화번호의 일부만 보여줘야 하는 경우, 고객 서비스나 보안 로그에서 전화번호를 가려야 할 때 적용할 수 있다.