문자열 묶기
https://school.programmers.co.kr/learn/courses/30/lessons/181855
📔 문제 설명
문자열 배열 strArr이 주어집니다. strArr의 원소들을 길이가 같은 문자열들끼리 그룹으로 묶었을 때 가장 개수가 많은 그룹의 크기를 return 하는 solution 함수를 완성해 주세요.
💡 입출력 예
strArr | result |
---|---|
[“a”,”bc”,”d”,”efg”,”hi”] | 2 |
💻내가 작성한 코드
1
2
3
4
5
6
7
8
9
10
function solution(strArr) {
var answer = {};
const longerStr = strArr.sort((a, b) => b.length - a.length)[0];
for (let i = 1; i <= longerStr.length; i++) {
answer[i] = strArr.filter((s) => s.length === i).length;
}
return Math.max(...Object.values(answer));
}
💻다른 사람 코드1
1
2
3
4
5
function solution(strArr) {
let ans = Array(31).fill(0);
for (let s of strArr) ans[s.length]++;
return Math.max(...ans);
}
💻다른 사람 코드2
hashmap 자료형 풀이
1
2
3
4
5
6
7
function solution(strArr) {
const counter = new Map();
for (const str of strArr) {
counter.set(str.length, (counter.get(str.length) || 0) + 1);
}
return Math.max(...counter.values());
}
This post is licensed under CC BY 4.0 by the author.