반응형
https://school.programmers.co.kr/learn/courses/30/lessons/12941
package Programmers;
import java.util.*;
public class 최소값만들기 {
public static void main(String[] args){
최소값만들기 T = new 최소값만들기();
int[] A = {1,4,2};
int[] B = {5,4,4};
T.solution(A, B);
}
public Integer solution(int []A, int []B)
{
int answer = 0;
PriorityQueue<Integer> pqAsc = new PriorityQueue<>();
PriorityQueue<Integer> pqDesc = new PriorityQueue<>(Collections.reverseOrder());
for (int i = 0; i < A.length; i++) {
pqAsc.offer(A[i]);
pqDesc.offer(B[i]);
}
while (!pqAsc.isEmpty()){
answer += pqAsc.poll() * pqDesc.poll();
}
return answer;
}
}
1. 풀이
- A배열의 최소값하고 B배열의 최대값 곱해줘서 배열수 만큼 합하면 풀린다.
- 우선순위큐 자료구조 활용해서 문제 품.
- solution함수 return 값을 int로 하면 효율성 체크 하나 오답나온다. Integer형식으로 바꿔주면 효율성검사 통과
?????
answer 를 Integer로 놓고 return 값을 int 로 줘도 실패함.
왜지??? 연산할때 더 많은 Integer -> int unWrapping이 일어나는거 아닌가
return 줄때는 값하나만 unWrapping하는데 뭐지?
반응형
'기타 > 알고리즘' 카테고리의 다른 글
[알고리즘] 프로그래머스 - 멀리뛰기 Java Lv02 (0) | 2023.07.15 |
---|---|
[알고리즘] 프로그래머스 - 숫자의표현 Lv02 Java (0) | 2023.07.13 |
[알고리즘] 프로그래머스 - 타겟넘버 LV02 Java (0) | 2023.07.04 |
[알고리즘] 프로그래머스 - 쿼드 압축 후 개수세기 LV02 Java (0) | 2023.06.26 |
[알고리즘] 프로그래머스 - 약수의개수와덧셈 Lv1 Java (0) | 2023.06.08 |