본문 바로가기
알고리즘 & 코딩 테스트/[Java]프로그래머스

[프로그래머스_Java] Lv.0 문자열 묶기

by heosj 2024. 1. 4.

문제 설명

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

제한사항

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


풀이

class Solution {
    public int solution(String[] strArr) {
        int[] test = new int[31]; // 길이 저장할 배열
        int answer = 0; // 최대값 저장할 변수

        for (String str : strArr) { // 동일한 문자열 길이 세기
            test[str.length()-1]++;
        }

        for (int c : test) { // 최대값 저장
            if (c > answer) {
                answer = c;
            }
        }
        return answer;
    }
}
  • 각 요소의 길이를 가진 문자열 개수를 저장한다.
    • 인덱스 0은 문자열 길이가 1인 문자열의 개수, 2는 길이가 2인 문자열의 개수 ....
  • 배열을 순회하며 가장 많은 개수를 가진 그룹의 크기를 저장하여 반환

 

 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr