All Honey Tip

프로그래머스 – [PCCE 기출문제] 10번 / 데이터 분석 Java 풀이

프로그래머스 [PCCE 기출문제] 10번 / 데이터 분석 Java 풀이에 대해 알아보겠습니다. 문제를 통해 연습할 수 있는 부분이 많다고 생각합니다.



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

코딩테스트 연습 > PCCE 기출문제 > [PCCE 기출문제] 10번 / 데이터 분석

프로그래머스 - [PCCE 기출문제] 10번 / 데이터 분석 Java 풀이
프로그래머스 - [PCCE 기출문제] 10번 / 데이터 분석 Java 풀이

앞에서 말했듯이 문제를 통해 배울 수 있는 포인트는 많다고 생각합니다. 하지만, 문제 설명을 읽었을 때 표현력이 좀 부족하다고 느껴지네요.

요구되는 프로세스는 간단합니다.
1. 특정 조건(String ext 속성이 int val_ext 미만)에 의한 데이터 필터링
2. 특정 조건(String sort_by 로 오름차순)에 의한 데이터 정렬

import java.util.*;
class Solution {
    public ArrayList<int[]> solution(int[][] data, String ext, int val_ext, String sort_by) {
        ArrayList<int[]> answer = new ArrayList<>();
        HashMap<String, Integer> hm = new HashMap<>();
        
        // 데이터 indexing을 위함
        hm.put("code", 0);
        hm.put("date", 1);
        hm.put("maximum", 2);
        hm.put("remain", 3);
        
        // 뽑을 데이터 기준
        int idx = hm.get(ext);
        for(int i = 0; i < data.length; i++)
            if(data[i][idx] < val_ext)
                answer.add(data[i]);
        
        // effectively final로 인한 final int로 재선언, 정렬 기준 인덱싱
        final int fIdx = hm.get(sort_by);        
        // answer이라는 리스트의 속성 o1, o2에 대해 [fIdx] 값 기준 오름차순 정렬
        Collections.sort(answer, (o1, o2) -> o1[fIdx] - o2[fIdx]);
        
        return answer;
    }
}
프로그래머스 - [PCCE 기출문제] 10번 / 데이터 분석 Java 풀이

개발자 면접 질문 – Java


코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다