외계어 사전
https://school.programmers.co.kr/learn/courses/30/lessons/120869
나의 풀이
function solution(spell, dic) {
return dic.filter(a => spell.every(b => a.includes(b))).length ? 1 : 2;
}
- 모든 spell의 요소들이 dic 배열 안에 포함되는지 확인하고, 포함되는 것은 배열의 길이가 생기고, 포함이 되지 않으면 길이가 0이므로 삼항 연산자로 반환하였다.
다른 사람의 풀이
function solution(spell, dic) {
return dic.some(s => spell.sort().toString() == [...s].sort().toString()) ? 1 : 2;
}
- some 메소드는 dic 배열 안의 어떤 배열이라도 주어진 함수를 하나라도 통과하는지 테스트한다.
- 배열 spell을 순차적으로 정렬한 다음에 toString()으로 배열을 문자열로 합친다. 예) [1, 2, 3, 'a'] => '1,2,3,a'
- 그리고 dic의 배열 s를 순차적으로 정렬하고 합친 문자열이 서로 같은지('==') 확인한다.
'JS > 알고리즘(코테)' 카테고리의 다른 글
프로그래머스 코딩테스트 LV. 1 - 삼총사 (0) | 2023.07.01 |
---|---|
프로그래머스 코딩테스트 LV.0 - 왼쪽 오른쪽 (0) | 2023.06.07 |
프로그래머스 코딩테스트 LV.0 - 두 수의 합 (0) | 2023.06.04 |
프로그래머스 코딩테스트 LV.0 - 문자열 묶기 (0) | 2023.06.03 |
프로그래머스 코딩테스트 LV.0 - 공 던지기, 배열의 길이를 2의 거듭제곱으로 만들기 (0) | 2023.05.31 |