inblog logo
|
silver
    알고리즘문제풀기

    [알고리즘문제풀기] 문자열 묶기

    silver's avatar
    silver
    Apr 23, 2025
    [알고리즘문제풀기] 문자열 묶기
    Contents
    문제내가 작성한 정답다른 사람들의 정답

    문제

    school.programmers.co.kr
    https://school.programmers.co.kr/learn/courses/30/lessons/181855

    내가 작성한 정답

    map

    import java.util.*; class Solution { public int solution(String[] strArr) { Map<Integer,Integer> map = new HashMap<>(); for(String s : strArr){ map.put(s.length(),map.getOrDefault(s.length(),0)+1); } Collection<Integer> counts = map.values(); int answer=0; for(int i : counts){ if(answer<i) answer = i; } return answer; } }

    다른 사람들의 정답

    Math.max

    class Solution { public int solution(String[] strArr) { int answer = 0; int[] lengArr = new int[31]; for(int i=0; i<strArr.length; i++) { lengArr[strArr[i].length()]++; } for(int i=0; i<=30; i++) { answer = Math.max(answer, lengArr[i]); } return answer; } }

    Collectors.groupingBy(String::length)

    import java.util.*; import java.util.stream.Collectors; class Solution { public int solution(String[] strArr) { return Arrays.stream(strArr) .collect(Collectors.groupingBy(String::length)) // Map<Integer,List<>> : key-length, value-List<String> // 기준이 되는 것이 key - length .values() .stream() .max(Comparator.comparingInt(List::size)) .orElse(Collections.emptyList()) .size(); } }
    notion image
    Share article

    silver

    RSS·Powered by Inblog