😁문제 설명

문자열 배열 strArr이 주어집니다. strArr의 원소들을 길이가 같은 문자열들끼리 그룹으로 묶었을 때 가장 개수가 많은 그룹의 크기를 return 하는 solution 함수를 완성해 주세요.


😂제한사항

  • 1 ≤ strArr의 길이 ≤ 100,000
  • 1 ≤ strArr의 원소의 길이 ≤ 30
  • strArr의 원소들은 알파벳 소문자로 이루어진 문자열입니다.

🤣입출력 예

strArrresult
["a","bc","d","efg","hi"]2

😄입출력 예 설명

입출력 예 #1

각 문자열들을 길이에 맞게 그룹으로 묶으면 다음과 같습니다.

문자열 길이문자열 목록개수
1["a","d"]2
2["bc","hi"]2
3["efg"]1

개수의 최댓값은 2이므로 2를 return 합니다.


😅나의 풀이

function solution(strArr) {
    const dict={}
    // key: 문자열 길이, value: 문자열 목록
    strArr.forEach(item => {
        const len = item.length
        dict[len] = dict[len] ?? []
        dict[len].push(item)
    })
    // 길이 별 목록 수의 최댓값
    const values = Object.values(dict).map(a => a.length)
    return Math.max(...values)
}
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글