알고리즘 문제 풀이

[TIL] JavaScript 알고리즘 100일 챌린지 28번째 도전

whale3 2023. 6. 4. 14:07

알파벳이 담긴 배열과 단어들이 담긴 배열이 주어졌을때, 각 알파벳을 하나씩 모두 갖고 있는 단어가 있으면 1 없으면 2를 리턴하는 문제였다. 

어떤 문자열의 구성에 관한 문제라면 정규식을 이용하는 것이 제일 간결하다고 생각한다. 그래서 이리저리 검색해서 나는 아래처럼 풀었다. 

 

1. 각 알파벳 하나씩 모두 있는지 검사하는 정규식 작성

2. 단어들의 배열에다가 find 메소드로 정규식의 test를 통과하는 것이 있는지 확인 

3. 있으면 1리턴, 없으면 2 리턴

 

 

근데 아래 영상을 보니 sort로 훨씬 간단하게 풀었다. 

function solution(spell, dic) {
	const found = dic.some(vocab => [...vocab].sort().toString() === spell.sort().toString());
    return found ? 1 : 2
}

 

 

 

 

 

https://youtu.be/sTfvdUzzUyA

 

반응형