inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

정말 쉽게 풀어보는 코딩 테스트 top 기본 문제 (with 자바)

k번째 제일큰 원소 (Kth Largest Element In An Array)

PriorityQueue 내림차순 정렬로 풀 경우

368

나윤지

작성한 질문수 1

2

안녕하세요  !

PrioryQueue 오름차순 정렬 하셔서 풀이 하셨는데, 

오름차순이 아닌 내림차순으로 해서 PQ에 넣는 방법에 대해서는 어떻게 생각하시나요?

  public int solve(int[] nums , int k) {
    int answer = 0;
    // priority queue 내림차순 정렬
    PriorityQueue<Integer> pq = new PriorityQueue(Collections.reverseOrder());

    // Priority Queue에 배열 원소들을 모두 넣는다.
    for (int i = 0; i < nums.length; ++i) {
      pq.offer(nums[i]);
    }

    // k개 꺼내서, 마지막으로 꺼낸 원소를 반환한다
    while(k > 0) {
      answer = pq.poll();
      --k;
    }

    return answer;
  }

java 코테 준비 같이 해요!

답변 1

2

푸샵맨 코딩스터디

네 안녕하세요~~

좋은 아이디어입니다~~

PriorityQueue는 숫자는 디폴트가 오름차순이죠.(minHeap 꼭대기에 제일 작은값)

반대로 내림차순으로 maxHeap을 만드시고, 그걸 빼내고 k번째인거 체크하는 순으로 하셨네요~ 굿입니다.

PriorityQueue 비교하는 문제는 은근히 나오고, Comparator를 이용하여 객체 비교하는거 자주나오죠

자유자재로 다루셔야 시험볼때 시간 안빼기겠죠~~~

즐코딩하시고~ 화이팅~~^^;

강의자료에 나오는 m과 n의 범위가 코딩하고 다른거 같습니다

0

252

0

나선형매트릭스 깃허브에 코드가 없는것같아요

0

208

0

로그 파일의 데이터 재정렬 코드가 깃허브에 없어요!

0

223

0

새로 생긴 기초강의 질문드려요

1

373

1

질문드립니다

1

218

1

Unique Paths Integer 질문입니다

0

219

1

subString 방법으로 문제 풀이 영상은 짤린건가요?

1

251

1

DFS 방식으로 푼 것이 맞나요?

0

307

2

질문드립니다~

0

195

1

left if문에 대해서

1

255

1

오타 인가요?

1

236

1

안녕하세요 강사님

1

187

1

질문 드립니다

0

172

2

Queue&Stack 문제해설집 문의

0

183

1

문제분석 로직 질문

1

228

1

시간 복잡도 문의드립니다.

1

230

1

시간복잡도 질문드립니다.

1

200

1

for-each 문 질문있습니다!

0

292

1

강의영상에서 사용된 로그 메소드가 궁금합니다.

2

279

2

강의자료 + 문제 이해 관련 질문입니다

1

277

3

강사님 오류맞나요?

1

206

1

강사님 시간 복잡도에 대해서 질문드립니다.

1

172

1

질문입니다.

1

200

1

문제에 대한 이해

1

312

1