같은 숫자는 싫어
1) 현재 배열 arr[i]와 다음 배열 arr[i+1]이 다르면 arr[i]를 추가하는 방식
arr[i] !== arr[i+1] 일 때 변수 선언한 빈 배열 answer에 arr[i]를 추가(push)
if문과 for문 활용
function solution(arr) <== 1) solution 함수
const answer = [] ; <= 2) 빈 배열 answer 생성
for(let i = 0 ; i < arr.length ; i++) <== 3) for 반복문을 통해 arr.legnth 전까지 실행
{if(arr[i] !== arr[i+1]) <== 4) arr i번째 배열의 값과 arr i+1번째 배열의 값이 다르면
{answer.push(arr[i])}} <== 5) answer에 arr[i]값 추가
return(answer)} <== 6) answer값 리턴
2) 핸드폰번호 가리기
전화번호가 문자열 phone_number로 주어졌을 때,
전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.
1) length를 이용하여 앞자리는 *을 추가, 뒤는 index를 이용하여 번호를 추가하는 방식
function solution(phone_number) <-- 1) solution 함수
{let answer = ''; <-- 2) 빈 문자열 변수 answer 생성
for(let i = 0 ; i < phone_number.length ; i++) <-- 3) for 반복문 phone.number.length전까지 실행
{if(i<phone_number.length - 4) <-- 4) 만약 i가 phone_number 총 길이-4면
{answer = answer + "*"} <-- 5) answer에 * 추가
else{answer = answer + phone_number[i]} <-- 6) 그렇지 않으면 answer에 phone_number[i] 추
}
return answer; <-- 7) answer값 리턴
}
2) pad start를 이용하여 *을 추가 / slice를 하여 앞자리 자르는 방식
function solution(phone_number) <--1) solution 함수
{let answer = ``; <--2) answer는 공백 변수
answer += answer.padStart(phone_number.length -4, `*`) <--3) phone_number-4 까지 *로 채운다
answer += phone_number.slice(phone_number.length -4 <--4) phone_number -4 인덱스부터 채운다
return answer}
padStart() 함수는 string에 쓸 수 있는 함수
문자열.padStart(length)
문자열.padStart(length, padString)
length에는 목표하는 문자열의 길이를 적는다.
padString에는 빈 공간에 채워넣을 문자열을 적으면 된다. padString을 적지 않을 경우 default값은 공백
ex) 문자열.padStart(3, "0"); // 세 자리 숫자로 표현되고, 빈 곳은 0으로 채우기
slice 함수는 원본 배열은 유지하고 begin부터 end까지(end 미포함)의 새로운 배열 객체를 반환합니다.
arr.slice(begin, end)
ex) let array = [1,2,3,4,5]
array.slice(0, 3)
console.log(array) => [1,2,3]
! 0번째 인덱스인 1은 포함, 3번째 인덱스인 4는 미포함