๋ฌธ์ ์ค๋ช
๋ฐฐ์ด 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๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ ์
์ ์ถ๋ ฅ ์
[1,1,3,3,0,1,1] | [1,3,0,1] |
[4,4,4,3,3] | [4,3] |
๋งจ ์ฒ์์ stack์ arr[0]๋ถํฐ ๋ฐ๋ก ๋ฐ๋ณต๋ฌธ์ผ๋ก ์์ํด์ peek()์ ๊ฐ์ผ๋ฉด pop()์ ์ฐ๋ฉด ๋ ๊นํ๋๋ ๊ทธ๋ฌ๋ฉด ๊ณ์ ๊ฐ์ ๊ฐ์ ์ถ๊ฐ-์ญ์ ๊ฐ ๋ฐ๋ณต๋์ด์ arr[0]๊ฐ๋ง ์ฐ์ ๋ฃ๊ณ , index 1๋ถํฐ ์์ํด์ peek์ ๊ฐ์๋๋ง push()ํ๋ ๋ฐฉ์์ด ๋ ๊ฐ๋จํ๋ค.
stack์ ์ด์ index์ ์ค๋ณต๊ฐ๋ง ์ ๊ฑฐํด์ ๋ฃ๊ณ , ์ด๊ฑธ ๋ค์ ์์๋๋ก ๋ฐฐ์ด answer์ ๊ฐ์ ธ์ค๋ ๋ฐฉ์์ด๋ค.
class Solution {
public int[] solution(int []arr) {
Stack<Integer> stack=new Stack<>();
stack.push(arr[0]);
for(int i=1; i<arr.length; i++){
if(arr[i]!=stack.peek())
stack.push(arr[i]);
}
int[] answer=new int[stack.size()];
for(int i=0; i<stack.size(); i++){
answer[i]=stack.get(i);
}
return answer;
}
}
'๐ ์ฝ๋ฉํ ์คํธ > ๋ฐฑ์ค & ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค][JAVA]1152๋ฒ : ๋จ์ด์ ๊ฐ์ (0) | 2022.10.11 |
---|---|
[๋ฐฑ์ค][JAVA]10757๋ฒ : ํฐ ์ A+B (0) | 2022.10.11 |
[ํ๋ก๊ทธ๋๋จธ์ค][JAVA]Level 1 : ํธ๋ํฐ ๋ฒํธ ๊ฐ๋ฆฌ๊ธฐ (0) | 2022.10.09 |
[ํ๋ก๊ทธ๋๋จธ์ค][JAVA]Level 1 : ์์ธ์์ ๊น์๋ฐฉ ์ฐพ๊ธฐ (0) | 2022.10.09 |
[ํ๋ก๊ทธ๋๋จธ์ค][JAVA]Level 1 : ํ์ค๋ ์ (1) | 2022.10.08 |