반응형
배열 만들기 4
문제 설명


요구사항
- arr배열로 stk배열 만들기
- stk가 비어있다면 arr[i] 값 추가
- stk 마지막 배열값이 arr[i] 보다 작으면 arr[i] 값 추가
- stk 마지막 배열값이 arr[i] 랑 같거나 크면 stk 마지막 배열값 삭제
테스트
package lv0;
import java.util.ArrayList;
import java.util.List;
public class 배열_만들기_4 {
public int[] solution(int[] arr) {
int[] stk = {};
List<Integer> list = new ArrayList<Integer>();
int i = 0;
while(true) {
if(i == arr.length) {
break;
}
if(list.size() == 0) { // stk가 값이 없다면 추가, i + 1
list.add(arr[i]);
i++;
} else {
if(list.get(list.size() - 1) < arr[i]) { // stk 마지막 값이 arr[i] 보다 작으면 추가, i + 1
list.add(arr[i]);
i++;
} else { // stk 마지막 값이 arr[i] 보다 작으면 삭제
list.remove(list.size() - 1);
}
}
}
stk = new int[list.size()];
for(int j = 0; j < list.size(); j++) {
stk[j] = list.get(j);
}
return stk;
}
}
프로그래머스
import java.util.ArrayList;
import java.util.List;
class Solution {
public int[] solution(int[] arr) {
int[] stk = {};
List<Integer> list = new ArrayList<Integer>();
int i = 0;
while(true) {
if(i == arr.length) {
break;
}
if(list.size() == 0) {
list.add(arr[i]);
i++;
} else {
if(list.get(list.size() - 1) < arr[i]) {
list.add(arr[i]);
i++;
} else {
list.remove(list.size() - 1);
}
}
}
stk = new int[list.size()];
for(int j = 0; j < list.size(); j++) {
stk[j] = list.get(j);
}
return stk;
}
}
결과

반응형
'코딩테스트 > 프로그래머스 Lv. 0' 카테고리의 다른 글
| [프로그래머스] Lv. 0 주사위 게임 3 JAVA (1) | 2025.02.15 |
|---|---|
| [프로그래머스] Lv. 0 간단한 논리 연산 JAVA (1) | 2025.02.06 |
| [프로그래머스] Lv. 0 콜라츠 수열 만들기 JAVA (1) | 2025.02.04 |
| [프로그래머스] Lv. 0 카운트 업 JAVA (0) | 2025.02.04 |
| [프로그래머스] Lv. 0 배열 만들기 2 JAVA (0) | 2025.02.04 |