[프로그래머스 | 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. 문자를 반복문으로 해당 데이터를 갖고 있는지 확인하기

 

끝.

반응형