Open amazon7737 opened 2 months ago
같은 숫자는 싫어
기본 클래스만으로 구현하기
import java.util.*;
public class Solution {
public int[] solution(int []arr) {
Integer[] array = new Integer[arr.length];
Integer[] index = new Integer[arr.length];
int temp = arr[0];
array[0] = arr[0];
index[0] = 0;
int cnt =1;
for(int i=1; i< array.length;i++){
if(arr[i] != temp){
array[i] = arr[i];
index[i] = i;
temp = arr[i];
cnt+=1;
}else{
array[i] = null;
}
//System.out.println(Arrays.toString(array));
}
//System.out.println(cnt);
int[] result = new int[cnt];
// 정답제출용 배열 인덱스와 검사 배열 인덱스를 따로 두어서 while문에서 돌린다
int number = 0;
int result_index=0;
while (true){
if(result_index == cnt){
break;
}
if(array[number] == null){
number+=1;
}else{
result[result_index] = array[number];
result_index+=1;
number+=1;
}
}
//System.out.println(Arrays.toString(result));
return result;
}
}
같은 숫자는 싫어
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.add(arr[i]);
continue;
}
if(stack.peek() != arr[i]) {
stack.add(arr[i]);
}
}
int[] answer= new int[stack.size()];
for(int i = 0 ; i < answer.length; i++) {
answer[i] = stack.get(i);
}
return answer;
}
}
스택/ 큐