문자열 배열 strArr
이 주어집니다. strArr
의 원소들을 길이가 같은 문자열들끼리 그룹으로 묶었을 때 가장 개수가 많은 그룹의 크기를 return 하는 solution 함수를 완성해 주세요.
strArr
의 길이 ≤ 100,000
strArr
의 원소의 길이 ≤ 30strArr
의 원소들은 알파벳 소문자로 이루어진 문자열입니다.strArr | result |
---|---|
["a","bc","d","efg","hi"] | 2 |
입출력 예 #1
문자열 길이 | 문자열 목록 | 개수 |
---|---|---|
1 | ["a","d"] | 2 |
2 | ["bc","hi"] | 2 |
3 | ["efg"] | 1 |
function solution(strArr) {
let sorArr = strArr.map(e=>e.length).sort()
let newArr = [...new Set(sorArr)]
return Math.max(...newArr.map(e=> sorArr.lastIndexOf(e)-sorArr.indexOf(e)+1));
}
시간단축 ㅎㄷㄷ
다른풀이
function solution(strArr) {
let ans = Array(31).fill(0);
for (let s of strArr) ans[s.length]++
return Math.max(...ans)
}
const solution = strArr => Math.max(...Array(31).fill(0).map((_, i) => strArr.map(v => v.length).filter(v => v == i).length))