https://programmers.co.kr/learn/courses/30/lessons/42748
ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ฉํ ์คํธ ๊ณ ๋์ Kit ์ ๋ ฌ K๋ฒ์งธ์ ๋ฌธ์ ํ์ด์ด๋ค.
๋ฐฐ์ด์์ i๋ฒ์งธ๋ถํฐ j๋ฒ์งธ๊น์ง ์ถ์ถํ๊ณ ์ ๋ ฌํ ํ k๋ฒ์งธ ๊ฐ์ ์ฐพ์ผ๋ฉด๋๋ ๋ก์ง์ด ๊ฐ๋จํ ๋ฌธ์ ์๋ค.
# 1
์ฒซ ๋ฒ์งธ ํ์ด๋ ๋จ์ํ ๋ฐ๋ณต๋ฌธ ๋ง์ ์ด์ฉํ์ฌ ๋ฐฐ์ด์ ์ผ๋ถ๋ฅผ ์ถ์ถํ๋ ๋ฐฉ๋ฒ์ผ๋ก ํ์๋ค.
* Arrays.copyOfRange(array, i, j) ์ฒ๋ผ ์ผ๋ถ๋ฅผ ๋ฐฐ์ด๋ก ๋ฐํํ๋ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์.
import java.util.Collections;
import java.util.Arrays;
import java.util.List;
import java.util.ArrayList;
class Solution {
public int[] solution(int[] array, int[][] commands) {
int[] answer = new int[commands.length];
for (int idx = 0; idx < commands.length; idx++) {
int i = commands[idx][0];
int j = commands[idx][1];
int k = commands[idx][2];
List<Integer> targetList = new ArrayList<>();
for (int temp = i - 1; temp < j; temp++) {
targetList.add(array[temp]);
}
Collections.sort(targetList);
answer[idx] = targetList.get(k-1);
}
return answer;
}
}
ํ ์คํธ ๊ฒฐ๊ณผ
# 2
๋ ๋ฒ์งธ ํ์ด๋ ๋ฐฐ์ด์ ์ถ์ถํ๊ณ ์ ๋ ฌํ๋ ๊ฒ๊น์ง ๋ชจ๋ ์คํธ๋ฆผ์ ํ์ฉํ ์ฝ๋์ด๋ค.
import java.util.Collections;
import java.util.Arrays;
import java.util.List;
import java.util.ArrayList;
import java.util.stream.Collectors;
class Solution {
public int[] solution(int[] array, int[][] commands) {
int[] answer = new int[commands.length];
for (int idx = 0; idx < commands.length; idx++) {
int i = commands[idx][0]; // i๋ฒ์งธ ์ซ์๋ถํฐ
int j = commands[idx][1]; // j๋ฒ์งธ ์ซ์๊น์ง ์๋ฅด๊ณ
int k = commands[idx][2]; // k๋ฒ์งธ์ ์๋ ์ ๊ตฌํ๊ธฐ
answer[idx] = Arrays.stream(array, i-1, j)
.boxed() // ์์ํ์
์ ํด๋์คํ์
์ผ๋ก ๋ณํ
.sorted() // ์ ๋ ฌ
.collect(Collectors.toList()) // ์คํธ๋ฆผ์ ๋ฆฌ์คํธ๋ก ๋ณํ
.get(k-1); // ๋ฆฌ์คํธ์ n๋ฒ์งธ ์์ ๊ฐ์ ธ์ค๊ธฐ
}
return answer;
}
}
ํ ์คํธ ๊ฒฐ๊ณผ
์ฝ๋๋ ๋จ์ํด์ก์ง๋ง ์คํธ๋ฆผ๋ ๋ด๋ถ์ ์ผ๋ก๋ ๋ฐ๋ณต๋ฌธ์ผ๋ก ๊ตฌ์ฑ๋์ด ์์ด ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฐ๋ค. ๋, ๋ฐฐ์ด์ ๋ฆฌ์คํธ๋ก ๋ณํํ์ง ์๊ณ ์์ ํ์ ์ ์ฌ์ฉํ๋ฉด ์๊ฐ์ ๋ ๋จ์ถํ ์ ์๋ค.
'๊ฐ๋ฐ > ์๋ฃ๊ตฌ์กฐ & ์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
LeetCode - Missing Number (0) | 2022.05.30 |
---|---|
๋ชจ์๊ณ ์ฌ (Java) (0) | 2022.02.15 |
์ฒด์ก๋ณต (Java) (0) | 2022.02.08 |
์ฃผ์ ๊ฐ๊ฒฉ (Java) (0) | 2022.02.06 |
๋ค๋ฆฌ๋ฅผ ์ง๋๋ ํธ๋ญ (Java) (0) | 2022.01.24 |
๋๊ธ