K๋ฒ์งธ์ (with.Java)
โK๋ฒ์งธ์ (with.Java)โ ๋ฌธ์ ์ ๋ํ์ฌ ์์๋ณธ ๊ธ์ ๋๋ค.
์ฝ๋ฉ ํ ์คํธ ๋ฌธ์ ๋ฅผ ํ๋ฉฐ, ํ์๋ ๋ฌธ์ ์ ๋ํ ํ๊ณ ์ ๋ค๋ฅธ ํ์ด ๋ฐฉ๋ฒ์ ์์๋ณด๋ฉฐ, ์์๊ฐ๊ณ ์ ํฉ๋๋ค.
๋ฌธ์ ์ ๋ํด ๋จผ์ ์์๋ณด๊ฒ ์ต๋๋ค.
๋ฌธ์
๋ฐฐ์ด array์ i๋ฒ์งธ ์ซ์๋ถํฐ j๋ฒ์งธ ์ซ์๊น์ง ์๋ฅด๊ณ ์ ๋ ฌํ์ ๋, k๋ฒ์งธ์ ์๋ ์๋ฅผ ๊ตฌํ๋ ค ํฉ๋๋ค.
์๋ฅผ ๋ค์ด array๊ฐ [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3์ด๋ผ๋ฉด
array์ 2๋ฒ์งธ๋ถํฐ 5๋ฒ์งธ๊น์ง ์๋ฅด๋ฉด [5, 2, 6, 3]์ ๋๋ค.
1์์ ๋์จ ๋ฐฐ์ด์ ์ ๋ ฌํ๋ฉด [2, 3, 5, 6]์ ๋๋ค.
2์์ ๋์จ ๋ฐฐ์ด์ 3๋ฒ์งธ ์ซ์๋ 5์ ๋๋ค.
๋ฐฐ์ด array, [i, j, k]๋ฅผ ์์๋ก ๊ฐ์ง 2์ฐจ์ ๋ฐฐ์ด commands๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, commands์ ๋ชจ๋ ์์์ ๋ํด ์์ ์ค๋ช ํ ์ฐ์ฐ์ ์ ์ฉํ์ ๋ ๋์จ ๊ฒฐ๊ณผ๋ฅผ ๋ฐฐ์ด์ ๋ด์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ์ฌํญ
- array์ ๊ธธ์ด๋ 1 ์ด์ 100 ์ดํ์ ๋๋ค.
- array์ ๊ฐ ์์๋ 1 ์ด์ 100 ์ดํ์ ๋๋ค.
- commands์ ๊ธธ์ด๋ 1 ์ด์ 50 ์ดํ์ ๋๋ค.
- commands์ ๊ฐ ์์๋ ๊ธธ์ด๊ฐ 3์ ๋๋ค.
์ ์ถ๋ ฅ ์์
array | commands | return |
---|---|---|
[1, 5, 2, 6, 3, 7, 4] | [[2, 5, 3], [4, 4, 1], [1, 7, 3]] | [5, 6, 3] |
๋ฌธ์ ์ ๋ํ ๋์ ํ์ด
import java.util.Arrays;
class Solution {
public int[] solution(int[] array, int[][] commands) {
int[] answer = new int[commands.length];
for(int i = 0; i < commands.length; i++){
int[] tempArr = Arrays.copyOfRange(array, commands[i][0] - 1, commands[i][1]);
Arrays.sort(tempArr);
answer[i] = tempArr[commands[i][2] - 1];
}
return answer;
}
}
ํ์ด ๋ฆฌ๋ทฐ
solution ๋ฉ์๋๋ ์ ์ ๋ฐฐ์ด array์ 2์ฐจ์ ์ ์ ๋ฐฐ์ด commands๋ฅผ ์ ๋ ฅ์ผ๋ก ๋ฐ์ต๋๋ค.
๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํ ์ ์ ๋ฐฐ์ด answer๋ฅผ ์์ฑํฉ๋๋ค. commands ๋ฐฐ์ด์ ํฌ๊ธฐ์ ๋์ผํ ํฌ๊ธฐ๋ก ์ค์ ๋ฉ๋๋ค.
commands ๋ฐฐ์ด์ ์ํํ๋ฉด์ ๊ฐ ๋ช ๋ น์ด์ ๋ํด ์ฒ๋ฆฌ๋ฅผ ์งํํฉ๋๋ค.
๊ฐ ๋ช ๋ น์ด๋ ๋ฐฐ์ด์ ํน์ ๊ตฌ๊ฐ์ผ๋ก ์๋ฅด๊ณ , ๊ทธ ๊ตฌ๊ฐ์ ์ ๋ ฌํ ํ์ ํน์ ์์น์ ๊ฐ์ ์ถ์ถํ๋ ๊ฒ์ ๋๋ค.
Arrays.copyOfRange() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ์ฃผ์ด์ง ๋ฐฐ์ด์์ ํด๋นํ๋ ๊ตฌ๊ฐ์ ๋ณต์ฌํ์ฌ ์๋ก์ด ๋ฐฐ์ด์ ์์ฑํฉ๋๋ค.
๋ณต์ฌํ ๋ฐฐ์ด์ Arrays.sort() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ์ ๋ ฌํฉ๋๋ค.
์ ๋ ฌ๋ ๋ฐฐ์ด์์ commands[i][2] - 1 ์์น์ ์๋ ๊ฐ์ answer[i]์ ์ ์ฅํฉ๋๋ค. ์ฃผ์ํ ์ ์ ๋ฐฐ์ด์ ์ธ๋ฑ์ค๋ 0๋ถํฐ ์์ํ๋ฏ๋ก ๋ช ๋ น์ด์ ์์น ๊ฐ์์ 1์ ๋นผ์ค์ผ ํฉ๋๋ค.
๋ชจ๋ ๋ช ๋ น์ด์ ๋ํ ์ฒ๋ฆฌ๊ฐ ๋๋๋ฉด answer ๋ฐฐ์ด์ ๋ฐํํฉ๋๋ค.
์ด ์ฝ๋๋ ๊ฐ ๋ช ๋ น์ด์ ๋ฐ๋ผ ๋ฐฐ์ด์ ์๋ผ๋ด๊ณ ์ ๋ ฌํ ํ์ ํน์ ์์น์ ๊ฐ์ ์ถ์ถํ์ฌ ๋ฐํํ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๋ค.