์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- redux-saga
- Algorithm
- ์ฝ๋ฉํ ์คํธํฉ๊ฒฉ์๋๊ธฐ
- ๋ฆฌ์กํธ
- redux
- Get
- ๋งค์ผ๋ฉ์ผ
- ์๊ณ ๋ฆฌ์ฆ
- ์๋ฐ
- C++
- ํ ์ฝํ ์ฝ
- react-router
- Python
- react-redux
- ํ๋ก๊ทธ๋๋จธ์ค
- JavaScript
- java
- maeil-mail
- SW
- ์ด์ฝํ
- sw expert academy
- redux-toolkit
- json-server
- createSlice
- axios
- programmers
- react
- useDispatch
- ํญํดํ๋ฌ์ค
- ํญํด99
- Today
- Total
Binary Journey
[ํ ์ฝํ ์ฝ1.5 4-05] ์ง๋ฃ ์์ ์ ํ๊ธฐ ๋ณธ๋ฌธ
[ํ ์ฝํ ์ฝ1.5 4-05] ์ง๋ฃ ์์ ์ ํ๊ธฐ
binaryJournalist 2025. 2. 21. 13:56๐กํ ์ฝํ ์ฝ ์์ฆ 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;
}
}
- ์ฐ์ ์์ ํ๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ์ ๋ ฌ์ ํ์ฉํ์๋ค.
์์ฝํ๊ธฐ
- ์ ๊ณต๋ ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ ํ์ฉํ์!
'Algorithm > ํ ์ฝํ ์ฝ1.5(2025)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ ์ฝํ ์ฝ1.5 4-08] ์นด๋2 (0) | 2025.02.21 |
---|---|
[ํ ์ฝํ ์ฝ1.5 4-07] ์์ธํธ์ค ๋ฌธ์ (0) | 2025.02.21 |
[ํ ์ฝํ ์ฝ1.5 4-03] ๋ฌธ์์ด ๋ฐ๊ธฐ (0) | 2025.02.21 |
[ํ ์ฝํ ์ฝ1.5 4-02] ๋ฐฐ์ด ํ์ ์ํค๊ธฐ (0) | 2025.02.21 |
[ํ ์ฝํ ์ฝ1.5 4-01] ๊ณต ๋์ง๊ธฐ (0) | 2025.02.21 |