inblog logo
|
LHS's Study Space
    알고리즘문제풀기프로그래머스

    [프로그래머스] [PCCE 기출문제] 10번 / 데이터 분석(250121)

    lhs's avatar
    lhs
    Dec 29, 2024
    [프로그래머스] [PCCE 기출문제] 10번 / 데이터 분석(250121)
    Contents
    1. 문제 풀이 아이디어2. 나의 정답 코드3. 정리
    school.programmers.co.kr
    https://school.programmers.co.kr/learn/courses/30/lessons/250121
     

    1. 문제 풀이 아이디어

    • Map을 활용하여 데이터를 효율적으로 관리하고 처리할 수 있다.

    2. 나의 정답 코드

    class Solution { public int[][] solution(int[][] data, String ext, int val_ext, String sort_by) { List<int[]> list = new ArrayList<>(); Map<String, Integer> map = new HashMap<>() {{ put("code", 0); put("date", 1); put("maximum", 2); put("remain", 3); }}; for (int i = 0; i < data.length; i++) { if (data[i][map.get(ext)] < val_ext) { list.add(data[i]); } } list.sort((o1, o2) -> o1[map.get(sort_by)] - o2[map.get(sort_by)]); return list.toArray(new int[list.size()][]); } }

    3. 정리

    • Map에 컬럼 이름과 인덱스를 저장하여 컬럼을 효율적으로 참조한다.
    • data 배열을 순회하면서, ext 컬럼의 값이 val_ext보다 작은 행을 list에 추가한다.
    • list를 sort_by 컬럼의 값을 기준으로 오름차순 정렬한다.
    • 정렬된 결과를 배열 형태로 변환하여 반환해 문제를 해결한다.
    Share article
    Contents
    1. 문제 풀이 아이디어2. 나의 정답 코드3. 정리

    LHS's Study Space

    RSS·Powered by Inblog