프로그래머스 [PCCE 기출문제] 10번 / 데이터 분석 Java 풀이에 대해 알아보겠습니다. 문제를 통해 연습할 수 있는 부분이 많다고 생각합니다.
프로그래머스 – [PCCE 기출문제] 10번 / 데이터 분석 경로
코딩테스트 연습 > PCCE 기출문제 > [PCCE 기출문제] 10번 / 데이터 분석
문제 설명 및 제한사항
![프로그래머스 - [PCCE 기출문제] 10번 / 데이터 분석 Java 풀이 1 프로그래머스 - [PCCE 기출문제] 10번 / 데이터 분석 Java 풀이](https://i0.wp.com/allhoneytip.com/wp-content/uploads/2024/01/image-128-optimized.png?resize=907%2C702&ssl=1)
![프로그래머스 - [PCCE 기출문제] 10번 / 데이터 분석 Java 풀이 2 프로그래머스 - [PCCE 기출문제] 10번 / 데이터 분석 Java 풀이](https://i0.wp.com/allhoneytip.com/wp-content/uploads/2024/01/image-129-optimized.png?resize=834%2C457&ssl=1)
[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 풀이 3 프로그래머스 - [PCCE 기출문제] 10번 / 데이터 분석 Java 풀이](https://i0.wp.com/allhoneytip.com/wp-content/uploads/2024/01/image-130-optimized.png?resize=359%2C513&ssl=1)
답글 남기기