https://school.programmers.co.kr/learn/courses/30/lessons/181895
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
[ ๋ฌธ์ ์ค๋ช ]
์ ์ ๋ฐฐ์ด arr์ 2๊ฐ์ ๊ตฌ๊ฐ์ด ๋ด๊ธด ๋ฐฐ์ด intervals๊ฐ ์ฃผ์ด์ง๋๋ค.
intervals๋ ํญ์ [[a1, b1], [a2, b2]]์ ๊ผด๋ก ์ฃผ์ด์ง๋ฉฐ ๊ฐ ๊ตฌ๊ฐ์ ๋ซํ ๊ตฌ๊ฐ์ ๋๋ค. ๋ซํ ๊ตฌ๊ฐ์ ์ ๋๊ฐ๊ณผ ๊ทธ ์ฌ์ด์ ๊ฐ์ ๋ชจ๋ ํฌํจํ๋ ๊ตฌ๊ฐ์ ์๋ฏธํฉ๋๋ค.
์ด๋ ๋ฐฐ์ด arr์ ์ฒซ ๋ฒ์งธ ๊ตฌ๊ฐ์ ํด๋นํ๋ ๋ฐฐ์ด๊ณผ ๋ ๋ฒ์งธ ๊ตฌ๊ฐ์ ํด๋นํ๋ ๋ฐฐ์ด์ ์๋ค๋ก ๋ถ์ฌ ์๋ก์ด ๋ฐฐ์ด์ ๋ง๋ค์ด return ํ๋ solution ํจ์๋ฅผ ์์ฑํด ์ฃผ์ธ์.
[ ํ์ด๊ณผ์ ]
import java.util.*;
class Solution {
public int[] solution(int[] arr, int[][] intervals) {
//intervals์ ๊ฐ ์์๋ค ๋ณ์๋ก ์ ์ธ
int start1 = intervals[0][0];
int end1 = intervals[0][1];
int start2 = intervals[1][0];
int end2 = intervals[1][1];
//copyOfRange๋ฉ์๋ ์ฌ์ฉํด์ intervals์ ํด๋นํ๋ ๊ตฌ๊ฐ์ ๋ฐฐ์ด ์ถ์ถ
//๊ฐ๊ฐ arr1, arr2์ ๋ด์
int[] arr1 = Arrays.copyOfRange(arr, start1, end1+1);
int[] arr2 = Arrays.copyOfRange(arr, start2, end2+1);
//์ ๋ต๋ฐฐ์ด answer ์ ์ธ
int[] answer = new int[arr1.length + arr2.length];
//answer๋ฐฐ์ด์ arr1, arr2 ์์๋ค ์ฐจ๋ก๋๋ก ๋ด์์ฃผ๊ธฐ
int idx = 0;
for (int i=0; i<arr1.length; i++) {
answer[idx++] = arr1[i];
}
for (int i=0; i<arr2.length; i++) {
answer[idx++] = arr2[i];
}
return answer;
}
}
'๐ฅ Coding Test > ์ค๋ต๋ ธํธ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [๊ธฐ์ด] ๋ฐฐ์ด์ ๊ธธ์ด๋ฅผ 2์ ๊ฑฐ๋ญ์ ๊ณฑ์ผ๋ก ๋ง๋ค๊ธฐ (0) | 2023.07.18 |
|---|---|
| [๊ธฐ์ด] ์ธ๋ก ์ฝ๊ธฐ (0) | 2023.07.17 |
| [Lv.1] ์ถ์ต ์ ์ (0) | 2023.07.14 |
| [Lv.1] ๊ฐ์ฅ ๊ฐ๊น์ด ๊ฐ์ ๊ธ์ (0) | 2023.07.13 |
| [Lv.1] ๊ฐ์ ์ซ์๋ ์ซ์ด (0) | 2023.07.12 |