-
프로그래머스 야근지수 자바 [14일차](효율성 문제)CodeingTestPrac/Java Coding Test 2023. 7. 9. 11:50
문제는 다음과 같다.
https://school.programmers.co.kr/learn/courses/30/lessons/12927
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
다음과 같은 코드는 효율성에서 통과를 하지 못했다.
public long solution(int n, int[] works) { PriorityQueue<Integer> pq = new PriorityQueue<>(Collections.reverseOrder());; for (int work : works) { pq.offer(work); } for(int i =0 ; i< n ;i++){ int item = pq.poll(); if(item <= 0 ) return 0; pq.offer(item -1 ); } int answr = 0 ; while(!pq.isEmpty()){ answr += Math.pow(pq.poll(),2); } return answr; }
문제는 다음과 같이 선언했던것이다.
int answr = 0 ;
long 으로 선언 해준다 .
long answr = 0 ;
------------------------------------------------------------
효율성을 문제는 항상 자료형 선언을 가장 먼저 확인 하는게 좋다.
반환하는 값과 맞는지
자료 구조를 선언시 오버플로우가 없는지 확인하자.
'CodeingTestPrac > Java Coding Test' 카테고리의 다른 글
멀쩡한 사각형 , 패턴을 찾자. gpt : GCD 한줄 처리 (0) 2023.08.05 DS : Stack "baabaa" (0) 2023.07.14 코테 연습[자바 코테 준비 13일차] stream 연습 (0) 2023.07.08 DS : 이중 큐 (프로그래머스 자바 컴파일 환경 v14 ) (0) 2023.07.07 코테 연습[자바 코테 준비 12일차] stream 연습 (0) 2023.07.07