문제 설명
문자열 배열 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
'알고리즘 & 코딩 테스트 > [Java]프로그래머스' 카테고리의 다른 글
| [프로그래머스_Java] Lv.0 7의 개수 (0) | 2024.01.05 |
|---|---|
| [프로그래머스_Java] Lv.0 리스트 자르기 (0) | 2024.01.04 |
| [프로그래머스_Java] Lv.0 2의 영역 (1) | 2024.01.04 |
| [프로그래머스_Java] Lv.0 한 번만 등장한 문자 (2) | 2024.01.04 |
| [프로그래머스_Java] Lv.0 간단한 논리 연산 (1) | 2024.01.04 |