https://programmers.co.kr/learn/courses/30/lessons/12906
์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๊ฐ์ ์ซ์๋ ์ซ์ด
๋ฐฐ์ด arr๊ฐ ์ฃผ์ด์ง๋๋ค. ๋ฐฐ์ด arr์ ๊ฐ ์์๋ ์ซ์ 0๋ถํฐ 9๊น์ง๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค. ์ด๋, ๋ฐฐ์ด arr์์ ์ฐ์์ ์ผ๋ก ๋ํ๋๋ ์ซ์๋ ํ๋๋ง ๋จ๊ธฐ๊ณ ์ ๋ถ ์ ๊ฑฐํ๋ ค๊ณ ํฉ๋๋ค. ๋จ, ์ ๊ฑฐ๋ ํ ๋จ์
programmers.co.kr

๋ฌธ์ ์ค๋ช ์ด ๊ธธ์ง๋ง ๋ฐฐ์ด์ ์ค๋ณต์ ์ ๊ฑฐํ๋ ๋ฌธ์ ์ด๋ค.
ArrayList๋ฅผ ์ด์ฉํด์ ์์๋ฅผ ์ถ๊ฐํ๋ ๋ฐฉ์์ผ๋ก ์ค๋ณต์ ์ ๊ฑฐํด์ ํ์๋ค.
๋งจ ์ฒ์์ ํ์์ ๋๋ num์ด๋ผ๋ ๋ณ์์์ด if(!list.contains(arr[i])) ~ ์ด๋ฐ์์ผ๋ก ํ์๋๋ ๊ณ์ ํ๋ ธ์๋ค.
๋ฌธ์ ์์ ์์์ ํฌ๊ธฐ๋ 0~9๊น์ง๋ผ๊ณ ํ์ผ๋๊น ์ ๋ ์์๊ฐ ๋ ์ผ ์๋ 10์ผ๋ก ๋ณ์ num์ ์ด๊ธฐํ ํ๋ค.
import java.util.*;
public class Solution {
public int[] solution(int []arr) {
ArrayList<Integer> list = new ArrayList<Integer>();
int num = 10;
for(int i=0; i<arr.length; i++){
if(num != arr[i]){
list.add(arr[i]);
num = arr[i];
}
}
//answer๋ฐฐ์ด์ ๋ต ์ ์ฅ
int[] answer = new int[list.size()];
for(int i=0; i<answer.length; i++){
answer[i] = list.get(i);
}
return answer;
}
}
- 2024.10.13 Stack ์ผ๋ก ๋ค์ ํ์ด๋ด
1. Stack์ ์์ฑ
2. Stack์ด ๋น์ด์๊ฑฐ๋ ๊ฐ์ฅ ์์ ์๋ ๊ฐ(peek())์ด ์ ๋ ฅ๋ฐ์ ๋ฐฐ์ด๊ฐ๊ณผ ๋ค๋ฅด๋ฉด push -> ์ด๋ ๊ฒ ํ๋ฉด ์ค๋ณต์์ด Stack์ ๊ฐ์ด ์์ผ ๊ฒ
3. Stack ์ฌ์ด์ฆ์ ๊ฐ์ answer ๋ฆฌํด ๋ฐฐ์ด์ ์์ฑ
4. pop์ Stack์ ๊ฐ์ฅ ์๋ถํฐ ์คํ๋๋ฏ๋ก ๋ฐ๋ณต๋ฌธ์ ๊ฑฐ๊พธ๋ก ๋๋ฆฌ๋ฉด์ answer ๋ฐฐ์ด์ ๊ฐ์ ๋ฃ์
import java.util.*;
public class Solution {
public int[] solution(int []arr) {
Stack<Integer> stack = new Stack<>();
for(int i=0; i<arr.length; i++){
if(stack.isEmpty() || stack.peek()!=arr[i]) {
stack.push(arr[i]);
}
}
//stack ์ฌ์ด์ฆ answer ๋ฐฐ์ด ์์ฑ
int[] answer = new int[stack.size()];
for(int i=stack.size()-1; i>=0; i--){
answer[i] = stack.pop();
}
return answer;
}
}'Algorithm > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [ํ๋ก๊ทธ๋๋จธ์ค/JAVA] ์ ์ผ ์์ ์ ์ ๊ฑฐํ๊ธฐ (0) | 2021.12.08 |
|---|---|
| [ํ๋ก๊ทธ๋๋จธ์ค/JAVA] ์ ์ ์ ๊ณฑ๊ทผ ํ๋ณ (0) | 2021.11.19 |
| [ํ๋ก๊ทธ๋๋จธ์ค/JAVA] ๋ฌธ์์ด ๋ค๋ฃจ๊ธฐ ๊ธฐ๋ณธ (0) | 2021.11.06 |
| [ํ๋ก๊ทธ๋๋จธ์ค/JAVA] x๋งํผ ๊ฐ๊ฒฉ์ด ์๋ n๊ฐ์ ์ซ์ (0) | 2021.10.15 |
| [ํ๋ก๊ทธ๋๋จธ์ค/JAVA] ๋ฌธ์์ด ๋ด p์ y์ ๊ฐ์ (0) | 2021.10.13 |