반응형
1. 문제 제목
배열만들기4
2. 언어
자바
3. 문제 출처
https://school.programmers.co.kr/learn/courses/30/lessons/181918
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
4. 풀이 방법
import java.util.ArrayList;
class Solution {
public int[] solution(int[] arr) {
ArrayList<Integer> stk_list=new ArrayList<>();
int i=0;
while(i<arr.length){ //i가 arr 배열 길이보다 작을 때 까지 반복
if(stk_list.isEmpty()){ //stk_list 배열이 비었을 때
stk_list.add(arr[i]); //arr[i]를 stk 뒤에 추가
i++;
}else if(arr[i]>stk_list.get(stk_list.size()-1)){
stk_list.add(arr[i]);
i++;
}else if(arr[i]<=stk_list.get(stk_list.size()-1)){
stk_list.remove(stk_list.size()-1); //stk 마지막 원소 제거
}
}
int[] stk = new int[stk_list.size()]; //stk 배열 선언
for(int j=0;j<stk.length;j++){
stk[j]=stk_list.get(j); //만든 배열에 answerlist 값 넣기
}
return stk;
}
}
5. 후기
내가 생각한 로직대로 잘 풀었지만 중간에 stk_list.isEmpty()를 "stk_list==null" 이라고 적어 오류가 났었다.
ArrayList로 선언한 경우에는 isEmpty()를 써야되는 것을 배웠다.
'프로그래밍 > JAVA' 카테고리의 다른 글
자바/프로그래머스) 배열 만들기2 (0) | 2023.05.24 |
---|---|
자바 기초) Integer 클래스의 중요 메소드 (0) | 2023.05.16 |
자바 기초) char[]과 string[]의 차이점 (0) | 2023.05.13 |
자바/프로그래머스) 문자열 섞기 (0) | 2023.05.13 |
자바 기초) 문자열에서 일부분 추출하기 (0) | 2023.05.12 |