124. 문자열 묶기

박은서's avatar
Apr 07, 2026
124. 문자열 묶기
2026.04.07(TUE)_124일차

1. 문제

문제 설명

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

제한사항

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

입출력 예

strArr
result
["a","bc","d","efg","hi"]
2

입출력 예 설명

입출력 예 #1
  • 각 문자열들을 길이에 맞게 그룹으로 묶으면 다음과 같습니다.
문자열 길이
문자열 목록
개수
1
["a","d"]
2
2
["bc","hi"]
2
3
["efg"]
1
  • 개수의 최댓값은 2이므로 2를 return 합니다.

2. 풀이

class Solution { public int solution(String[] strArr) { int answer = 0; int num = 0; int rotation = 0; while (rotation < strArr.length) { num++; int count = 0; for (String s : strArr) { if (s.length() == num) { count++; rotation++; } } answer = Math.max(count, answer); } return answer; } }

3. 다른 사람의 풀이

import java.util.*; import java.util.stream.Collectors; class Solution { public int solution(String[] strArr) { return Arrays.stream(strArr).collect(Collectors.groupingBy(String::length)).values().stream().max(Comparator.comparingInt(List::size)).orElse(Collections.emptyList()).size(); } }
 
Share article