๋ฌธ์ ์ค๋ช
๋ฐฐ์ด 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๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ ์
์ ์ถ๋ ฅ ์
arr | answer |
---|---|
[1,1,3,3,0,1,1] | [1,3,0,1] |
[4,4,4,3,3] | [4,3] |
์ ์ถ๋ ฅ ์ ์ค๋ช
์
์ถ๋ ฅ ์ #1,2
๋ฌธ์ ์ ์์์ ๊ฐ์ต๋๋ค.
๋ฌธ์ ํ์ด
์ฒ์์๋ set์ ์ด์ฉํด์ ํ์ด์ผํ๋?ํ๊ณ ๋ดค๋ค๊ฐ ์์ ํ ์ค๋ณต ์ ๊ฑฐ๊ฐ ์๋ ๊ทธ๋ฅ ๋ฐฐ์ด์์ ์ด์ ๋ณ์์ ๊ฐ๊ณผ ๋น๊ตํด์ ์ค๋ณต์ ๊ฑฐํ๋ ๊ฒ์ด์๋ค.
์ด์ ๊ฐ์ ๊ฐ๊ณ ์์ ๋ณ์๋ฅผ ํ๋ ์ ์ธํด์ ๋น๊ตํ๋ฉด ๋๊ฒ ๋ค.
์ ๋ต
import java.util.*;
public class Solution {
public int[] solution(int []arr) {
ArrayList<Integer> answer = new ArrayList<Integer>();
// ๋น๊ตํ ๋ณ์ (0 ๋ณด๋ค ํด ๊ฒฝ์ฐ๋ง ๋ค์ด๊ฐ๋ฏ๋ก ์ด๊ธฐ๊ฐ์ -1)
int value = -1;
for(int i=0; i<arr.length; i++) {
if(arr[i] != value) {
answer.add(arr[i]);
// ๋น๊ตํ ๋ณ์ ์
๋ฐ์ดํธ
value = arr[i];
}
}
// int[]๋ก ํ๋ณํ
return answer.stream().mapToInt(i->i).toArray();
}
}
int[]์์ ๊ทธ๋ฅ ๋ฐฐ์ด์ ๊ณ ์ ์ ์ธ ํฌ๊ธฐ๋ฅผ ๊ฐ์ง๊ณ ์์ผ๋ฏ๋ก ๊ฐ๋ณ์ ์ผ ์ ์๋ค. ๊ทธ๋์ ArrayList๋ก ์ ์ธํ๊ณ , ํ๋ณํ์ ํตํด์ ๊ฐ์ ๋ฐํํด์ผํ๋ค.
๊ฐ์ ์ซ์๋ ์ซ์ด ๊ฐ์ ์ซ์๋ ์ซ์ด ๊ฐ์ ์ซ์๋ ์ซ์ด ๊ฐ์ ์ซ์๋ ์ซ์ด ๊ฐ์ ์ซ์๋ ์ซ์ด ๊ฐ์ ์ซ์๋ ์ซ์ด ๊ฐ์ ์ซ์๋ ์ซ์ด ๊ฐ์ ์ซ์๋ ์ซ์ด