Algorithm 9 - [JS] Which are in?
Which are in?
Given two arrays of strings
a1
anda2
return a sorted arrayr
in lexicographical order of the strings ofa1
which are substrings of strings ofa2
.Example 1:
a1 = ["arp", "live", "strong"] a2 = ["lively", "alive", "harp", "sharp", "armstrong"] returns ["arp", "live", "strong"]
Example 2:
a1 = ["tarp", "mice", "bull"] a2 = ["lively", "alive", "harp", "sharp", "armstrong"] returns []
Notes:
- Arrays are written in "general" notation. See "Your Test Cases" for examples in your language.
- In Shell bash a1 and a2 are strings. The return is a string where words are separated by commas.
- Beware: r must be without duplicates.
📌 Needs ) a2의 하위 Array인 a1 Array의 사전순으로 정렬된 배열 r을 반환
📁 Sol ) array1을 filter로 걸러내고 array2를 돌면서 각 요소중 array1이 속한 문자열이 있으면 바로 true를 return해서 그 요소만 남긴 후 sort로 정렬해서 return
function inArray(array1,array2) {
return array1.filter(str1 => {
for(let i = 0; i < array2.length; i++) {
if(array2[i].includes(str1)) {
return true;
}
}
}).sort();
}
💡 Other ways to solve ) filter와 if 조건문, for...of문 사용
function inArray(array1,array2) {
let result = [];
for (let key of array1) {
for (let el of array2) {
if(el.includes(key)) result.push(key)
}
}
result.sort()
return result.filter((item, index) => result.indexOf(item) === index)
}
Author And Source
이 문제에 관하여(Algorithm 9 - [JS] Which are in?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@threeplef/Algorithm-9-JS-Which-are-in저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)