๐ฅ
https://programmers.co.kr/learn/courses/30/lessons/12906?language=java
๋ฌธ์ ์ค๋ช
๋ฐฐ์ด arr๊ฐ ์ฃผ์ด์ง๋๋ค. ๋ฐฐ์ด arr์ ๊ฐ ์์๋ ์ซ์ 0๋ถํฐ 9๊น์ง๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค. ์ด๋, ๋ฐฐ์ด arr์์ ์ฐ์์ ์ผ๋ก ๋ํ๋๋ ์ซ์๋ ํ๋๋ง ๋จ๊ธฐ๊ณ ์ ๋ถ ์ ๊ฑฐํ๋ ค๊ณ ํฉ๋๋ค. ๋จ, ์ ๊ฑฐ๋ ํ ๋จ์ ์๋ค์ ๋ฐํํ ๋๋ ๋ฐฐ์ด arr์ ์์๋ค์ ์์๋ฅผ ์ ์งํด์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค๋ฉด,
- arr = [1, 1, 3, 3, 0, 1, 1] ์ด๋ฉด [1, 3, 0, 1] ์ return ํฉ๋๋ค.
- arr = [4, 4, 4, 3, 3] ์ด๋ฉด [4, 3] ์ return ํฉ๋๋ค.
๋ฐฐ์ด arr์์ ์ฐ์์ ์ผ๋ก ๋ํ๋๋ ์ซ์๋ ์ ๊ฑฐํ๊ณ ๋จ์ ์๋ค์ return ํ๋ solution ํจ์๋ฅผ ์์ฑํด ์ฃผ์ธ์.
์ ํ์ฌํญ- ๋ฐฐ์ด arr์ ํฌ๊ธฐ : 1,000,000 ์ดํ์ ์์ฐ์
- ๋ฐฐ์ด arr์ ์์์ ํฌ๊ธฐ : 0๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ 9๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ ์
์ ์ถ๋ ฅ ์arranswer
[1,1,3,3,0,1,1] | [1,3,0,1] |
[4,4,4,3,3] | [4,3] |
์
์ถ๋ ฅ ์ #1,2
๋ฌธ์ ์ ์์์ ๊ฐ์ต๋๋ค.
๐ฅ [๋ก์ง]
1. ์ ๋ ฅ๊ฐ์ผ๋ก ๋ฐ์ arr ๋ฐฐ์ด์ ์ฌ์ด์ฆ๋งํผ for๋ฌธ ๋ฐ๋ณต
2. ArrayList์ ๊ธฐ์ค์ ๋ง๋ ๊ฐ ์ง์ด๋ฃ๊ธฐ
- 1) arr ๋ฐฐ์ด์ ์ฒซ๋ฒ์งธ ๊ฐ์ธ๊ฒฝ์ฐ
- 2) arr ๋ฐฐ์ด์ ๋๋ฒ์งธ ๊ฐ์ด๋ฉด์ ์ด์ ๊ฐ๊ณผ ๊ฒน์น์ง ์๋๊ฒฝ์ฐ
3. answer ArrayList ๊ฐ์ int[] ๋ฐฐ์ด๋ก ํ ๋ณํ
int[] a = arrayList.stream().mapToInt(Integer::intValue).toArray()
๐ฅ [์ต์ข ์ฝ๋]
import java.util.*;
public class Solution {
public int[] solution(int []arr) {
ArrayList<Integer> answer = new ArrayList<>();
// int ๋ฐฐ์ด์ ํฌ๊ธฐ ๊ตฌํ๊ธฐ : arr.length
for(int i= 0; i < arr.length; i++) {
if(i == 0 || (i > 0 && arr[i-1] != arr[i])){
answer.add(arr[i]);
}
}
// [์คํ] ๋ฒํผ์ ๋๋ฅด๋ฉด ์ถ๋ ฅ ๊ฐ์ ๋ณผ ์ ์์ต๋๋ค.
int[] a = answer.stream().mapToInt(Integer::intValue).toArray();
//System.out.println(Arrays.toString(a));
return a;
}
}
๐ฅ [์๊ฐ]
ํฌ๊ฒ ์ด๋ ต์ง ์์์ง๋ง int[]๋ฐฐ์ด๋ก ํ๋ณํํด์ฃผ๋ ๋ฐฉ๋ฒ์ ๊น๋จน์ด์ ๊ฒฐ๊ตญ ๊ตฌ๊ธ๋งํ๋ค..ใ ใ
๊ธฐ๋ณธ์ ์ธ ๋ด์ฉ์ ์๊ธฐํด๋ฌ์ผํ ๊ฒ ๊ฐ์ ๋ ธํธํ๊ธฐํ๋ ์ค์ด๋ค.
์ฝํ ์ค๋น๋ฅผ ๋ณธ๊ฒฉ์ ์ผ๋ก ์์ํ์ง ์ผ๋ง ๋์ง ์์ ์ฝ๋์ ๋ฏธํกํ ์ ์ด ๋ง์ ์ ์์ต๋๋ค.
๋ถ์กฑํ ์ ํผ๋๋ฐฑ ์ฃผ์๋ฉด ์์ผ๋ก์ ํฌ์คํ ์ ๋ฐ์ํ๊ฒ ์ต๋๋ค! ๋ด์ฃผ์ ์ ์ ๋ง ๊ฐ์ฌํฉ๋๋ค :)
-budtree