โค๏ธ Problem
- ๋ฌธ์
๋ฐฐ์ด 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 ํจ์๋ฅผ ์์ฑํด ์ฃผ์ธ์.
- ์ ํ ์ฌํญ
- return ๊ฐ์ ์ด์ง์๋ฅผ ์๋ฏธํ๋ ๋ฌธ์์ด์ ๋๋ค.
- 1 ≤ bin1, bin2์ ๊ธธ์ด ≤ 10
- bin1๊ณผ bin2๋ 0๊ณผ 1๋ก๋ง ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
- bin1๊ณผ bin2๋ "0"์ ์ ์ธํ๊ณ 0์ผ๋ก ์์ํ์ง ์์ต๋๋ค.
- ์ ์ถ๋ ฅ ์ & ์ค๋ช
no | arr | answer |
1 | [1,1,3,3,0,1,1] | [1,3,0,1] |
2 | [4,4,4,3,3] | [4,3] |
- ๋ฌธ์ ์ ์์์ ๊ฐ์ต๋๋ค.
- ๋ฌธ์ ์ ์์์ ๊ฐ์ต๋๋ค.
๐ Solution
ํ์ด 1
import java.util.*;
public class Solution {
public int[] solution(int[] arr) {
Stack<Integer> trans = new Stack<>();
trans.push(arr[0]);
for(int i=1; i<arr.length; i++) {
Integer tmp = arr[i];
Integer compare = trans.peek();
if(compare == tmp) {
continue;
} else {
trans.push(tmp);
}
}
int[] answer = new int[trans.size()];
int index = answer.length-1;
while (!trans.isEmpty()) {
answer[index] = trans.pop();
index--;
}
return answer;
}
}
๋ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌํ ์ ์์๊น?
ํ์ด2
import java.util.*;
public class Solution {
public int[] solution(int []arr) {
ArrayList<Integer> tmp = new ArrayList<Integer>();
tmp.add(arr[0]);
for(int i=1; i<arr.length; i++) {
if(arr[i-1] != arr[i]){
tmp.add(arr[i]);
}
}
int[] answer = new int[tmp.size()];
for(int i=0; i<answer.length; i++) {
answer[i] = tmp.get(i).intValue();
}
return answer;
}
}
ํจ์จ์ฑ 2๋ฐฐ ์ฆ๊ฐ!
๐ Comment
์ฐ์์ ์ผ๋ก ๋ํ๋๋ ์ซ์๋ฅผ ๋น๊ตํ๊ธฐ์ํด์ ๋จผ์ ํ์ด 1์ฒ๋ผ Stack์ ์ฌ์ฉํด์ ์ฝ๋๋ฅผ ์์ฑํ๋ค. ๊ทธ ์ด์ ๋ Stack์ด ํ์ ์ ์ถ(Last In First Out)์ด ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ด๋ค.
Stack์ ๋จผ์ arr[0]์ ๊ฐ์ ๋ฃ์ ๋ค ๋ฐ๋ณต๋ฌธ์ 1๋ถํฐ ์์ํ์ฌ arr[i]์ ๊ฐ์ด Stack.peek()์ ๊ฐ๊ณผ ์ผ์นํ๋ ๊ฒฝ์ฐ์๋ push() ์์ด ๋์ด๊ฐ๋๋ก ๊ตฌํํ์ฌ ์ค๋ณต๋๋ ์ซ์๋ฅผ ๋ฃ์ง ์์๋ค. ๊ทธ๋ฐ ๋ค Stack์ ๋ค์ด์๋ ๊ฐ์ ๋ฐฐ์ด์ ๋ด์ ๋ฐํํ์๋ค.
๋ฌธ์ ๋ฅผ ๋ค ํ๊ณ ๋๋ Stack ์์ด๋ ์ถฉ๋ถํ ๊ตฌํํ ์ ์๋ค๋ ์๊ฐ์ด ๋ค์ด์ ArrayList๋ฅผ ์ฌ์ฉํ์ฌ ๋์ผํ ๋ฐฉ์์ผ๋ก ๊ตฌํํ๋ค. ๊ทธ ๊ฒฐ๊ณผ ํจ์จ์ฑ์ด 2๋ฐฐ ์ฆ๊ฐํ๋ค.
์๊ณ ์๋ ์ง์์ ํ์ฉํ๋ ๊ฒ๋ ์ข์ง๋ง ๋ฐ๋์ ๊ผญ ํ์ํ ์๋ฃ๊ตฌ์กฐ์ธ์ง๋ฅผ ๋จผ์ ๊ณ ๋ คํด์ผ๊ฒ ๋ค.
'Programmers lv-1' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฌธ์์ด ๋ด ๋ง์๋๋ก ์ ๋ ฌํ๊ธฐ - Java [์ฝ๋ฉํ ์คํธ ์ฐ์ต] (1) | 2022.12.12 |
---|---|
์ต์์ง์ฌ๊ฐํ - Java [์ฝ๋ฉํ ์คํธ ์ฐ์ต] (0) | 2022.12.09 |
์์ ์ํธ - Java [์ฝ๋ฉํ ์คํธ ์ฐ์ต] (1) | 2022.12.08 |
์์ฐ - Java [์ฝ๋ฉํ ์คํธ ์ฐ์ต] (0) | 2022.12.07 |
3์ง๋ฒ ๋ค์ง๊ธฐ - Java [์ฝ๋ฉํ ์คํธ ์ฐ์ต] (0) | 2022.12.06 |
์ด์ํ ๋ฌธ์ ๋ง๋ค๊ธฐ - Java [์ฝ๋ฉํ ์คํธ ์ฐ์ต] (0) | 2022.12.05 |
๋๊ธ