출처: https://bumcrush.tistory.com/182 [맑음때때로 겨울]
반응형

https://school.programmers.co.kr/learn/courses/30/lessons/12941

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

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하는데 뭐지?

반응형

+ Recent posts