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 |
Tags
- toast err
- Mac OS NVM
- Redux
- 광고지구
- CloudFront 무효화
- next/link
- 원티드인턴십
- 알고리즘
- JS
- 회고록
- 원티드프리온보딩
- jsEvent Loop
- 향해99
- Til
- CPU와 GPU의 차이점
- 원티트 프리온보딩인턴십 1주차
- react portal
- NextJs
- 인풋태그 엔터
- NVM
- Client-Side Navigation
- 프로젝트
- Passed by Value
- git
- JavaScript
- Node
- 유령 의존성
- 식별자란
- react
- input error
Archives
- Today
- Total
SUIN
알고리즘9_핸드폰 번호 가리기 본문
728x90
문제 설명
프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.
제한 조건
- s는 길이 4 이상, 20이하인 문자열입니다.
입출력 예
phone_number | return |
"01033334444" | "*******4444" |
"027778888" | "*****8888" |
문제
function solution(phone_number) {
var answer = '';
return answer;
}
내가 작성한 코드
function solution(phone_number) {
let start = '';
// 뒷자리 4자리 구하기
let end= phone_number.slice(-4);
// 번호길이의 -4 만큼 * 반복문
for(let i=0;i<phone_number.length-4; i++){
start += '*';
}
//* + 뒷자리4자리
return start+end;
}
알게된 내용
0. 배열안의 원소 = element
1. .repeat() .slice() 사용해 배열을 반복시켜보자
.repeat() 메서드는 문자열을 주어진 횟수만큼 반복해 붙인 새로운 문자열을 반환합니다.
.slice() 메서드는 어떤 배열의 begin부터 end까지(end 미포함)에 대한 얕은 복사본을 새로운 배열 객체로 반환합니다.
원본 배열은 바뀌지 않습니다.
unction hide_numbers(s){
var result = "*".repeat(s.length - 4) + s.slice(-4);
return result;
}
// 아래는 테스트로 출력해 보기 위한 코드입니다.
console.log("결과 : " + hide_numbers('01033334444'));
2. substring()과 slice() 차이점
let str = "안녕하세요?"
//substring: 원본이 회손됨
let first_char = str.substring(0,1); //안 0 < 1
let second_char = str.substring(1, 2); // 녕 1 < 2
let last_char = str.substring(str.length-1, str.length); //?
console.log("첫번째 문자 : ", first_char, '<br/>');
console.log("두번째 문자 : ", second_char, '<br/>');
console.log("마지막 문자 : ", last_char, '<br/>');
//-----------------------------------------------------
//slice: 원본이 회손되지 않음
let first_char = str.slice(0, 1); //안 0 < 1
let second_char = str.slice(1, 2); //녕 0 < 1
let last_char = str.slice(str.length-1, str.length); //?
console.log("첫번째 문자 : ", first_char, '<br/>');
console.log("두번째 문자 : ", second_char, '<br/>');
console.log("마지막 문자 : ", last_char, '<br/>');
//-----------------------------------------------------
//substring: 시작값이 끝값보다 클경우 (start>end)=>start 값과 end 값을 바꾸어서 처리
let slice = str.slice(1, 0); //' ' 1 < 0
let substring = str.substring(1, 0); //안 0 < 1
document.write("slice(1,0) : ", slice, '<br/>');
document.write("substring(1,0) : ", substring, '<br/>');
'알고리즘 > 프로그래머스' 카테고리의 다른 글
알고리즘11_x만큼 간격이 있는 (0) | 2021.11.09 |
---|---|
알고리즘10_행렬의 덧셈 (0) | 2021.11.09 |
알고리즘8_ 평균 구하기 (0) | 2021.11.09 |
알고리즘7_음양 더하기 (0) | 2021.11.09 |
알고리즘6_ 없는 숫자 더하기 (0) | 2021.11.09 |