๐ก ์ง์ ํผ ์ฝ๋
ํฌ์ธํธ๋ ๋ง์ง๋ง ์ธ๋ฑ์ค๋ฅผ ๊ตฌํ๋ ๋ฐฉ๋ฒ์ด๋ค.
๋์ ๋ฐฐ์ด์ ๋ฐฐ์ดํฌ๊ธฐ๊ฐ ์ ํด์ง์ง ์์์ ๋ง์ง๋ง ์ธ๋ฑ์ค ๊ฐ์ด ๋ช์ธ์ง ๊ฐ๋ ํ ์ ์๋๋ฐ
์ด ๊ฒฝ์ฐ์๋ ํฌ๊ธฐ - 1 ์ ํตํด ๊ตฌํด์ค๋ค.
int lastIndex = stk.size() - 1;
๐ฌ .size() : ์คํ(Stack)์ด๋ ๋ค๋ฅธ ์ปฌ๋ ์ ์ ํฌ๊ธฐ๋ฅผ ๋ฐํํ๋ ๋ฉ์๋
๐ฌ .remove() : ๊ฐ์ฒด์์ ํน์ ์์๋ฅผ ์ ๊ฑฐ
import java.util.ArrayList;
class Solution {
public ArrayList<Integer> solution(int[] arr) {
ArrayList<Integer> stk = new ArrayList<>();
for (int i = 0; i < arr.length;){
int lastIndex = stk.size() - 1;
if (stk.isEmpty()){
stk.add(arr[i]);
i++;
}
else if (stk.get(lastIndex) < arr[i]){
stk.add(arr[i]);
i++;
}
else if (stk.get(lastIndex) >= arr[i]){
stk.remove(lastIndex);
}
}
return stk;
}
}