[JAVA] List 알아보기
·
알고리즘/List
List Interface와 구현체간의 비교일단 List를 알기전 Array를 알아보자.Array(배열)정의동일한 타입의 여러 원소를 선형 집합으로 관리하는 정적 데이터 구조선형: 데이터가 순차적으로 저장되는 구조, 순서가 있는 데이터의 집합정적: 생성과 동시에 크기가 고정되어 늘릴 수 없다.메모리상에 일렬로 저장되어 Random Access가 가능하다.Random Access: 데이터의 위치(인덱스)를 알고 있다면 한 번에 접근이 가능한 특성메소드특징원소에 접근하고 변경하는 것은 빠르다.중간 원소를 추가/삭제시 연속적인 상태를 유지하기 위해 원소를 옮기는 작업이 필요하다.List동일한 타입의 여러 원소를 선형 집합으로 관리하는 동적 데이터 구조동적: 원소가 추가/삭제됨에 따라 크기가 변경 될 수 있음...
[백준/Silver IV] 요세푸스 문제 - 1158
·
알고리즘/List
분류자료 구조, 구현, 큐제출 일자2024년 5월 22일 00:49:48문제 설명요세푸스 문제는 다음과 같다.1번부터 N번까지 N명의 사람이 원을 이루면서 앉아있고, 양의 정수 K(≤ N)가 주어진다. 이제 순서대로 K번째 사람을 제거한다. 한 사람이 제거되면 남은 사람들로 이루어진 원을 따라 이 과정을 계속해 나간다. 이 과정은 N명의 사람이 모두 제거될 때까지 계속된다. 원에서 사람들이 제거되는 순서를 (N, K)-요세푸스 순열이라고 한다. 예를 들어 (7, 3)-요세푸스 순열은 이다.N과 K가 주어지면 (N, K)-요세푸스 순열을 구하는 프로그램을 작성하시오.입력첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000)출력예제와 같이 요세푸스 순열을 출력한다...
[백준/Silver II] 에디터 - 1406
·
알고리즘/List
분류자료 구조, 연결 리스트, 스택 문제 설명한 줄로 된 간단한 에디터를 구현하려고 한다. 이 편집기는 영어 소문자만을 기록할 수 있는 편집기로, 최대 600,000글자까지 입력할 수 있다.이 편집기에는 '커서'라는 것이 있는데, 커서는 문장의 맨 앞(첫 번째 문자의 왼쪽), 문장의 맨 뒤(마지막 문자의 오른쪽), 또는 문장 중간 임의의 곳(모든 연속된 두 문자 사이)에 위치할 수 있다. 즉 길이가 L인 문자열이 현재 편집기에 입력되어 있으면, 커서가 위치할 수 있는 곳은 L+1가지 경우가 있다.이 편집기가 지원하는 명령어는 다음과 같다.L 커서를 왼쪽으로 한 칸 옮김 (커서가 문장의 맨 앞이면 무시됨)D커서를 오른쪽으로 한 칸 옮김 (커서가 문장의 맨 뒤이면 무시됨)B커서 왼쪽에 있는 문자를 삭제함 (..