[Code Signal][js] All Longest Strings
🎆문제
Given an array of strings, return another array containing all of its longest strings.
Example
For inputArray = ["aba", "aa", "ad", "vcd", "aba"]
, the output should be
allLongestStrings(inputArray) = ["aba", "vcd", "aba"]
.
🎇풀이
function allLongestStrings(inputArray) {
let arrLength = [];
let result = [];
inputArray.forEach((str) => {arrLength.push(str.length)});
const maxLength = Math.max(...arrLength);
inputArray.forEach((str) => {
if(str.length === maxLength) {
result.push(str);
}
})
return result;
}
✨다른 풀이
function allLongestStrings(inputArray) {
'use strict';
let maxSize = Math.max(...inputArray.map(x => x.length));
return inputArray.filter(x => x.length === maxSize);
}
아아... 늘 map과 filter를 사용하는 데 익숙하지 않다.
여기서는 inputArray의 요소들을 순회하며 길이를 바로 배열로 만들었다.
그 다음 최대 길이와 길이가 동일한 배열만 필터링 해주었다.
훨씬 간결한 코드를 작성할 수 있으니, map과 filter를 이요해서 꼭 한 번 다시 풀어봤으면 한다.
Author And Source
이 문제에 관하여([Code Signal][js] All Longest Strings), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@gygy/Code-Signaljs-All-Longest-Strings저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)