๐Ÿฅž BE
home

406_Queue Reconstruction by Height

๋‹ด๋‹น์ž
์™„๋ฃŒ ์—ฌ๋ถ€
Solved
์š”์•ฝ
๋‚ ์งœ
2024/08/27
ํƒœ๊ทธ
๊ทธ๋ฆฌ๋””
๋‚œ์ด๋„
Medium
์ถœ์ฒ˜
LeetCode

์ฝ”๋“œ

import java.util.ArrayList; import java.util.List; import java.util.PriorityQueue; import java.util.Queue; class Solution { public int[][] reconstructQueue(int[][] people) { // ์šฐ์„ ์ˆœ์œ„ ํ ์„ ์–ธ ๋ฐ ์ •๋ ฌ. ์ •๋ ฌ ๊ธฐ์ค€์€ ํฐ ํ‚ค ์šฐ์„ , ๊ฐ’์ด ๊ฐ™๋‹ค๋ฉด ์•ž์— ์ค„ ์„œ ์žˆ๋Š” ์‚ฌ๋žŒ์ด ์ž‘์€ ์ˆœ์œผ๋กœ Queue<int[]> pq = new PriorityQueue<>((a, b) -> a[0] != b[0] ? b[0] - a[0] : a[1] - b[1]); // ์šฐ์„ ์ˆœ์œ„ ํ์— ์ž…๋ ฅ๊ฐ’ ์‚ฝ์ž… for (int[] person : people) { pq.add(person); } List<int[]> result = new ArrayList<>(); // ์šฐ์„ ์ˆœ์œ„ ํ์—์„œ ๋ชจ๋‘ ์ถ”์ถœํ•  ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณต while (!pq.isEmpty()) { // ํฐ ํ‚ค ์šฐ์„ , ์•ž์— ์ค„ ์„œ ์žˆ๋Š” ์‚ฌ๋žŒ์ด ์ ์€ ์ˆœ์œผ๋กœ ์ถ”์ถœ int[] person = pq.poll(); // ์•ž์— ์ค„ ์„œ ์žˆ๋Š” ์‚ฌ๋žŒ์„ ์ธ๋ฑ์Šค๋กœ ์ •ํ•ด์„œ ์‚ฝ์ž… result.add(person[1], person); } return result.toArray(new int[people.length][2]); } }
Java
๋ณต์‚ฌ

๋ฌธ์ œ ํ•ด๊ฒฐ ์•„์ด๋””์–ด

์šฐ์„ ์ˆœ์œ„ ํ๋ฅผ ํ™œ์šฉํ•ด์„œ ์ •๋ ฌํ•˜๊ณ , ํŒจํ„ด์„ ํŒŒ์•…ํ•ด์„œ ๊ฐ’์„ ๋ฐฐ์น˜ํ•˜๋ฉด ๋œ๋‹ค.