Java/공부
예제로 arrayList 공부하기
notcherry
2023. 7. 19. 15:50
728x90
반응형
import java.util.ArrayList;
public class ListPractice1 {
public int[] solution(String myString) {
ArrayList<Integer> b = new ArrayList<> ();
int length = 0;
//나눠서 리스트에 저장하기
for(char ch : myString.toCharArray()){
if(ch != 'x'){
length++;
}else{
b.add(length);
length = 0;
}
}
//마지막 length 넣기
if(length>=0){
b.add(length);
}
//리스트를 answer배열에 넣기
int[] answer = new int[b.size()];
for(int i =0; i<b.size() ; i++){
answer[i] = b.get(i);
}
return answer;
}
}
ArrayList를 사용해서 char == x 일 때 끊고 length =0 으로 초기화한 다음에 char != x 일 때 다시 리스트에 쌓는 방법으로 풀었다. 제일 무난한 방법이지만 리스트와 배열을 활용하기 좋은 예라고 생각된다! 이제 30문제만 풀면 lv.0 끝난다ㅏㅏ 이 시간에는 아는 개념 이용해서 기초 베이스로 문풀하는 중
배열 문제에서 arraylist를 사용하면 answer배열의 크기를 처음에 어떻게 설정할지 고민하지 않아도 돼서 편한 것 같다. 나중에 다시 배열로 만드는 것에서 인덱스범위 오류가 종종 뜨긴 하지만,, stream사용하면 간단해지는데 아직 서툴다. 메소드를 너무 많이 사용하면 효율성이 떨어지기 때문에 filter로 거르거나 정렬하는 정도만 사용할 줄 알면 좋겠다. 개발할 때는 분명 많이 쓰일테니!
728x90
반응형