문자열 배열 strArr이 주어집니다. strArr의 원소들을 길이가 같은 문자열들끼리 그룹으로 묶었을 때 가장 개수가 많은 그룹의 크기를 return 하는 solution 함수를 완성해 주세요.
제한사항
1 ≤ strArr의 길이 ≤ 100,000 1 ≤ strArr의 원소의 길이 ≤ 30 strArr의 원소들은 알파벳 소문자로 이루어진 문자열입니다.
import java.util.Arrays;
class Solution {
public int solution(String[] strArr) {
int answer = 0;
int[] k=new int[30];
for(int i=0; i<30;i++){
k[i]=0;
}
for(int i=0; i<strArr.length;i++){
k[strArr[i].length()-1]++;
}
Arrays.sort(k);
answer=k[29];
return answer;
}
}
제한 사항에 길이가 30 이하라고 나와있어서 30개의 int 형 배열을 만들어줬다. 그리고 for 문에서 길이가 있는대로 그 배열 인덱스에 1씩 더해준다 만약 ac 면 2글자니까 index 1에 1을 더해준다. 그렇게 해주고 오름차순으로 정렬해주고
가장 마지막에 있는 것을 answer 로 해준다. !!
'자바 알고리즘 문제' 카테고리의 다른 글
| 컨트롤 제트 (2) | 2024.02.10 |
|---|---|
| 7의 개수 (0) | 2024.02.09 |
| 수열과 구간 쿼리 4 (0) | 2023.12.29 |
| 2의 영역 (0) | 2023.12.21 |
| 문자열 반복해서 출력하기 (0) | 2023.12.21 |