프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제풀이
1. 주어진 문제조건에 따라서 직관적으로 해결.
2. sort_by에 따른 2차원배열 정렬은 PriorityQueue 사용
나의풀이 ( 코드 )
import java.util.*;
class Solution {
public int[][] solution(int[][] data, String ext, int val_ext, String sort_by) {
int t = checkExt(ext);
int sort = checkSortBy(sort_by);
int size = 0;
PriorityQueue<int[]> pq=new PriorityQueue<>(new Comparator<int[]>(){
@Override
public int compare(int[] o1, int[] o2) {
return o1[sort] - o2[sort];
}
});
for(int i=0;i<data.length;i++){
if(val_ext>data[i][t]){
size++;
}
}
int[][] answer = new int[size][4];
for(int i=0;i<data.length;i++){
if(val_ext>data[i][t]){
pq.add(data[i]);
}
}
size = 0;
while (!pq.isEmpty()) {
answer[size++] = pq.poll();
}
return answer;
}
static int checkExt(String ext){
if(ext.equals("code")){
return 0;
}else if(ext.equals("date")){
return 1;
}else if(ext.equals("maximum")){
return 2;
}else{
return 3;
}
}
static int checkSortBy(String sort_by){
if(sort_by.equals("code")){
return 0;
}else if(sort_by.equals("date")){
return 1;
}else if(sort_by.equals("maximum")){
return 2;
}else{
return 3;
}
}
}'알고리즘 > 프로그래머스' 카테고리의 다른 글
| [프로그래머스/JAVA 자바] [PCCP 기출문제] 1번 (0) | 2023.11.25 |
|---|---|
| [프로그래머스/JAVA 자바] [PCCE 기출문제] 9번 / 이웃한 칸 (0) | 2023.11.25 |
| [프로그래머스/JAVA 자바] 2 x n 타일링 (0) | 2023.11.24 |
| [프로그래머스/JAVA 자바] 숫자 변환하기 (1) | 2023.11.23 |
| [프로그래머스/JAVA 자바] [1차] 프렌즈4블록 (1) | 2023.11.22 |