728x90
https://school.programmers.co.kr/learn/courses/30/lessons/181859
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
728x90
메모리: 125 MB, 시간: 41.97 ms
사용 알고리즘: 구현
import java.util.*;
class Solution {
public int[] solution(int[] arr) {
// stk의 원소를 임시 저장할 List
List<Integer> list = new ArrayList<>();
for(int i = 0; i < arr.length; i++) {
if(list.isEmpty()) {
list.add(arr[i]);
}
else if(list.get(list.size() - 1) == arr[i]) {
list.remove(list.size() - 1);
}
else {
list.add(arr[i]);
}
}
// List -> 배열
if(list.isEmpty()) return new int[] {-1};
int[] stk = new int[list.size()];
for(int i = 0; i < stk.length; i++)
stk[i] = list.get(i);
return stk;
}
}
728x90
'Problem Solving > Programmers' 카테고리의 다른 글
[프로그래머스, 181857] 배열의 길이를 2의 거듭제곱으로 만들기 (java) (0) | 2025.04.01 |
---|---|
[프로그래머스, 181858] 무작위로 K개의 수 뽑기 (java) (0) | 2025.03.12 |
[프로그래머스, 181860] 빈 배열에 추가, 삭제하기 (java) (0) | 2025.03.12 |
[프로그래머스, 181862] 세 개의 구분자 (java) (0) | 2025.03.12 |
[백준, BOJ 1715] 카드 정렬하기 (java) (0) | 2025.03.11 |