[프로그래머스 | javascript] 전화번호 목록 (해시)

728x90
반응형

(1) 내 풀이

function solution(phone_book) {
phone_book.sort();
for (let i = 0; i<phone_book.length -1 ; i++){
if(phone_book[i+1].startsWith(phone_book[i]))
return false;
}
return true;
}

0. 정렬 + 반복문

1. 정렬해서 인덱스[0]과 인덱스[1]끼리 비교

 

 

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith

 

String.prototype.startsWith() - JavaScript | MDN

startsWith() 메서드는 어떤 문자열이 특정 문자로 시작하는지 확인하여 결과를 true 혹은 false로 반환합니다.

developer.mozilla.org

 

 

(2) 내 풀이 (해시)

function solution(phone_book) {
const hash ={}
phone_book.forEach(num =>{
hash[num] = 1
})
for (let num of phone_book ){
for (let i = 1 ; i< num.length ; i++)
{
let str = num.slice(0, i)
if(hash[str]){
return false
}
}
}
return true;
}

1. 해시에 key,value값 넣기

2. 문자를 반복문으로 해당 데이터를 갖고 있는지 확인하기

 

끝.

반응형