Search

94. 배열 만들기6

내 답안
import java.util.*; class Solution { public List<Integer> solution(int[] arr) { List<Integer> list = new ArrayList<>(); int i = 0; while (i < arr.length) { if (list.size() == 0) { list.add(arr[i]); i++; } else { if (list.get(list.size() - 1) == arr[i]) { list.remove(list.size() - 1); i++; } else { list.add(arr[i]); i++; } } } if (list.size() == 0) list.add(-1); return list; } }
Java
복사
다른사람 풀이
import java.util.Stack; class Solution { public int[] solution(int[] arr) { Stack<Integer> stack = new Stack<>(); for (int no : arr) { if (!stack.isEmpty() && no == stack.peek()) { stack.pop(); } else { stack.push(no); } } return stack.isEmpty() ? new int[] { -1 } : stack.stream().mapToInt(i -> i).toArray(); } }
Java
복사