본문 바로가기
Java

[java] 문자열 나누기

by 간장공장공차장 2024. 10. 30.
반응형

문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/140108

Array와 List의 차이점

주로 python으로 공부해서 이 두 두가지를 구분하는 개념이 헷갈린다..
Java에서 Array와 List는 데이터 구조로서 서로 다른 특징과 용도를 가진다.

  1. 크기
    Array: 배열의 크기는 고정되어 있으며, 생성 시 크기를 지정해야 합니다. 배열의 크기를 변경하려면 새 배열을 생성해야 합니다.
    List: 리스트는 가변 크기로, 요소를 추가하거나 제거할 수 있습니다. ArrayList, LinkedList 등 다양한 구현이 있습니다.
  2. 데이터 타입
    Array: 모든 데이터 타입(기본형 및 객체형)을 담을 수 있으며, 기본형 데이터 타입의 배열도 생성할 수 있습니다. 예를 들어, int[], char[], String[] 등.
    List: 객체 타입만 담을 수 있으며, 기본형 타입은 자동으로 박싱(wrapper)되어야 합니다. 예를 들어, List를 사용하면 Integer 객체로 저장됩니다.
  3. 메서드
    Array: 배열에는 메서드가 없으며, 요소에 직접 접근해야 합니다. 예를 들어, array[index]로 접근합니다.
    List: 리스트는 메서드를 사용하여 요소를 추가, 제거, 검색할 수 있습니다. 예를 들어, list.add(element), list.remove(index)와 같은 메서드를 제공합니다.
  4. 성능
    Array: 배열은 고정 크기로 메모리를 효율적으로 사용하며, 요소에 직접 접근할 수 있기 때문에 성능이 더 좋습니다.
    List: 리스트는 크기가 가변적이기 때문에 크기 조정이나 요소 추가/삭제 시 성능이 떨어질 수 있습니다. 그러나 사용하기 간편한 메서드를 제공합니다.
  5. 사용 예시
    Array: 크기가 고정된 데이터셋(예: 날짜별 온도 기록)이나 성능이 중요한 경우 사용합니다.
    List: 데이터가 동적으로 변경될 수 있는 경우(예: 사용자 입력을 통한 목록) 사용합니다.
  6. 예제 코드
    import java.util.ArrayList;
    int[] array = new int[5]; // 크기가 5인 배열 생성 array[0] = 1; // 요소 추가 int firstElement = array[0]; // 요소 접근`
    List list = new ArrayList<>(); // ArrayList 생성
    list.add(1); // 요소 추가
    int firstElement = list.get(0); // 요소 접근

 

String 다루기

String에 있는 문자열 다룰 때 굳이 리스트로 변환할 필요 없이 charAt() 함수를 더 사용할 것

이중 루프

지금까지 2번째 문자열 문제지만 앞자리가 변경되면서 순회하는 건 while-for문 조합인 것 같음
while로 앞자리 증가시키면서 for문으로는 뒷자리까지 순회하면서 돌기..

반응형