inblog logo
|
DailyCoding
    CodingTestJava

    124. 문자열 묶기

    박은서's avatar
    박은서
    Apr 07, 2026
    124. 문자열 묶기
    Contents
    1. 문제2. 풀이3. 다른 사람의 풀이
    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
    Contents
    1. 문제2. 풀이3. 다른 사람의 풀이

    DailyCoding

    RSS·Powered by Inblog