[ν μ½ν μ½1.5 4-05] μ§λ£ μμ μ νκΈ°
π‘ν μ½ν μ½ μμ¦ 1.5 4ν λͺ¨μ off-site λ¬Έμ νμ΄μ λλ€. (2025.02.15)
λ¬Έμ
μΆμ²: νλ‘κ·Έλλ¨Έμ€ - μ§λ£ μμ μ νκΈ°
λ΄μ©
μΈκ³Όμμ¬ λ¨Έμ±μ΄λ μκΈμ€μ μ¨ νμμ μκΈλλ₯Ό κΈ°μ€μΌλ‘ μ§λ£ μμλ₯Ό μ νλ €κ³ ν©λλ€. μ μ λ°°μ΄ emergency
κ° λ§€κ°λ³μλ‘ μ£Όμ΄μ§ λ μκΈλκ° λμ μμλλ‘ μ§λ£ μμλ₯Ό μ ν λ°°μ΄μ returnνλλ‘ solution ν¨μλ₯Ό μμ±ν΄μ£ΌμΈμ.
κΈ°λ‘νκΈ°
π‘ μ΄λκΉμ§ μκ°ν΄λ΄€λμ§ λ¨κ³μ μΌλ‘ κΈ°λ‘ν΄λ΄ λλ€.
μ΄λ€ μκ³ λ¦¬μ¦μ μ μ©νλ € νλμ?
μ²μμλ ν μ¬μ© μκ°μ λͺ»νλ€^^..
λμ€μ μ°μ μμ νλ₯Ό μκ³ μ μ©ν¨
μ μ© κ·Όκ±°λ 무μμΈκ°μ?
μκΈλκ° λμ μμλλ‘ μ§λ£ μμλ₯Ό μ ν λ°°μ΄μ returnνλλ‘
λΌλ λ¬Έμ₯μμ ννΈλ₯Ό μ»μλ€.
λ¬Έμ νμ΄ κ³Όμ μμ ν΄λΉ μκ³ λ¦¬μ¦μ μ΄λ»κ² μ½λλ‘ κ΅¬ννλ € νλμ?
PriorityQueue
μλ£νμ μ¬μ©νλ€.
νμ΄
νμ΄ μκ°
μμ μκ° | μ’ λ£ μκ° | μ΄ μμ μκ° |
---|---|---|
5λΆ |
λ¬Έμ λΆμ
μ μ½ μ¬ν νμ & ν μ€νΈ μΌμ΄μ€ μμ±
μ νμ¬ν
- μ€λ³΅λ μμλ μμ΅λλ€.
- 1 ≤
emergency
μ κΈΈμ΄ ≤ 10 - 1 ≤
emergency
μ μμ ≤ 100
μ λ ₯κ° λΆμ
π‘ μ λ ₯κ°μ λΆμνλ©΄ λ¬Έμ μμ μꡬνλ μκ³ λ¦¬μ¦μ μκ° λ³΅μ‘λλ₯Ό κ°μ μ μΌλ‘ νμ ν μ μμ΅λλ€.
μ μΆλ ₯ μ
emergency | result |
---|---|
[3, 76, 24] | [3, 1, 2] |
[1, 2, 3, 4, 5, 6, 7] | [7, 6, 5, 4, 3, 2, 1] |
[30, 10, 23, 6, 100] | [2, 4, 3, 5, 1] |
μμ¬ μ½λ μμ±
π‘ μμ¬ μ½λλ λμ μ€μ¬μΌλ‘ μμ±νλ κ²μ΄ μ€μν©λλ€.
π‘ μμ¬ μ½λλ λ¬Έμ ν΄κ²° μμλ‘ μμ±ν©λλ€.
π‘ μμ¬ μ½λλ₯Ό μΆ©λΆν ν μ€νΈν΄λ΄ λλ€.
1μ°¨ νμ΄
solution(emergency) {
// sort ν λ€μμ indexλ³λ‘ λ°ν~~~
}
2μ°¨ νμ΄
solution(emergency) {
// μ°μ μμ νμ emergency λ£κΈ°
// μ°μ μμ νμμ μμ λΉΌλ©΄μ rank 맀기기
}
ꡬν
1μ°¨ νμ΄
import java.util.Arrays;
import java.util.Comparator;
import java.util.stream.Collectors;
class Solution {
public int[] solution(int[] emergency) {
return Arrays.stream(emergency)
.map(i -> Arrays.stream(emergency).boxed()
.sorted(Comparator.reverseOrder())
.collect(Collectors.toList()).indexOf(i) + 1)
.toArray();
}
}
2μ°¨ νμ΄
import java.util.*;
class Solution {
public int[] solution(int[] emergency) {
PriorityQueue<Integer> pq = new PriorityQueue<>(Collections.reverseOrder());
for (int i = 0; i < emergency.length ; i++) {
pq.add(emergency[i]);
}
int rank = 1;
int[] answer = new int[emergency.length];
while (!pq.isEmpty()) {
int front = pq.poll();
for (int i = 0; i < emergency.length; i++) {
if (emergency[i] == front && answer[i] == 0) {
answer[i] = rank++;
break;
}
}
}
return answer;
}
}
볡기νκΈ°
λ΅μκ³Ό λμ νμ΄λ₯Ό λΉκ΅ν΄λ³΄μΈμ
μΆμ²μ κ°μ₯ λ§μ΄ λ°μ νμ΄
class Solution {
public int[] solution(int[] emergency) {
int[] answer = new int[emergency.length];
for(int i = 0; i < answer.length; i++){
if(answer[i] != 0){
continue;
}
int idx = 1;
for(int j = 0; j < answer.length; j++){
if(emergency[i] < emergency[j]){
idx++;
}
}
answer[i] = idx;
}
return answer;
}
}
- μ°μ μμ νλ₯Ό μ¬μ©νμ§ μκ³ μ λ ¬μ νμ©νμλ€.
μμ½νκΈ°
- μ 곡λ μλ£κ΅¬μ‘°λ₯Ό μ νμ©νμ!