ArrayList 2

[JAVA]BOJ 1158, 요제푸스 문제

드디어 List를 사용한 문제이다. 문제를 푸는 여러 방법이 있겠지만, 나는 ArrayList를 사용했다. k번째 값을 빼준다. 다음은 k번째부터 +k번째 값을 또 뺀다.. 손으로 풀면 규칙이 보인다. 지속적으로 k - 1을 더해주고, 더한 값이 전체 배열 사이즈보다 큰 경우 '% 사이즈' 를 한 후 +k번째 값을 뺀다.. 그렇게 계속 빼다가 배열에 남은 값이 없으면 끝이다.아래는 전체 코드이다.import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.StringTokenizer;public class BOJ1158 { ..

코딩가딩가 2024.08.08

[JAVA]List

배열(Array): 동일한 타입의 여러 원소를 선형 집합으로 관리하는 정적 데이터 구조생성과 동시에 크기가 고정되어 늘릴 수 없다.메모리상에 일렬로 저장되어 Random Access가 가능하다.원소에 접근과 변경은 빠름, 중간에 원소 추가&삭제시 원소를 옮겨야 하므로 오래걸림.. get, add : O(1)insert, remove : O(N) 리스트(List): 동일한 타입의 여러 원소를 선형 집합으로 관리하는 동적 데이터 구조원소가 추가&삭제됨에 따라 크기가 변경될 수 있다.List Interface 구현체에 따라 특성이 다르다.ArrayList, LinkedList, Vector 가 있음 ArrayList: 동적 배열을 사용한 List 구현체원소가 추가될 때 배열에 남은 공간이 없다면, 크기를 일정..

CS 2024.08.08