Post

문자열 묶기

https://school.programmers.co.kr/learn/courses/30/lessons/181855

📔 문제 설명

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

💡 입출력 예

strArrresult
[“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.