목록리스트 (4)
개발자는 기록이 답이다

알고리즘 할때 ArrayList를 자주 썼는데, 내부적으로는 어떻게 동작하는지 알아보기 위해 해당 포스팅을 작성해보려고 한다. ArrayList란? Java의 동적 배열인 ArrayList는 내부적으로 배열을 기반으로 하는 자료 구조이다. 크기를 동적으로 조절 가능하여 원소의 추가와 삭제가 용이하며, 랜덤 액세스에 강점을 가지고 있다. 중간에 원소를 추가하거나 삭제할 때는 다른 원소들을 이동시켜야 하므로 성능 저하가 있을 수 있다. 크기 조절은 현재 크기의 1.5 배로 확장하는 방식을 사용한다. 특히 동적인 데이터 크기 및 빈번한 원소 조작이 필요한 상황에서 적합한 자료구조이다. ArrayList의 동적 크기 확장의 메커니즘 ArrayList의 동적 크기 확장은 내부적으로 배열을 사용하며, 배열이 가득 ..

List에서 요소를 삭제하는 방법을 위해 .rem 만 입력해도 4가지 방법이 나온다. 1. remove(int index) `remove(int index)` 메서드는 지정된 인덱스에 있는 요소를 삭제합니다. import java.util.ArrayList; import java.util.List; public class RemoveAtIndexExample { public static void main(String[] args) { List fruits = new ArrayList(); fruits.add("Apple"); fruits.add("Banana"); fruits.add("Cherry"); fruits.remove(1); // 인덱스 1에 있는 "Banana" 삭제 System.out.pri..

https://cote.inflearn.com/contest/10/problem/03-01 OnlineJudge cote.inflearn.com (위의 링크는 인프런 로그인 후, 해당 강의를 사지 않으면 접속이 되지 않습니다) 1. 두 배열 합치기(two pointers algorithm) 예시 입력 1 3 1 3 5 5 2 3 6 7 9 예시 출력 1 1 2 3 3 5 6 7 9 내가 푼 풀이(Time: 168ms Memory: 27MB) 투 포인터라는 알고리즘을 몰라서, 내가 알고 있는 기존 방법으로 풀었다. 강의 내용을 보니, 당연히 이렇게 풀 순 있지만 매력적이지 않은 코드라고 한다. package TwoPointers_SlidingWindow.두_배열_합치기_two_pointers; import..

https://cote.inflearn.com/contest/10/problem/02-01 OnlineJudge cote.inflearn.com (위의 링크는 인프런 로그인 후, 해당 강의를 사지 않으면 접속이 되지 않습니다) 1. 큰 수 출력하기 예시 입력 1 6 7 3 9 5 6 12 예시 출력 1 7 9 6 12 내가 푼 풀이(Time: 165ms Memory: 27MB) 처음에 문제를 잘 못 읽어서 첫 줄 입력값보다 2번째 줄 입력배열중에 큰 수를 찾는 것 인 줄 알았다. 그게 아니라 첫 줄은 2번째 줄의 길이를 말하는 것이었다. 입출력에 대한 타입이 정해지지 않으니까 어떤걸로 정의해야할지 헷갈렸다. 문제를 제대로 읽어야겠다. import java.util.ArrayList; import java..