일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- F
- 추상 팩토리
- r
- 코틀린
- ㅋㅁ
- ㅓ
- android designsystem
- 싱글톤
- PrototypePattern
- 안드로이드 디자인시스템
- 디자인패턴
- compose
- designPattern
- 디자인패턴 #
- Design Pattern
- 빌터패턴
- 추상팩토리패턴
- Abstract Factory
- Singleton
- builderPattern
- Functional Programming
- Observer Pattern
- Kotlin
- 팩토리 메소드
- 프로토타입 패턴
- material3
- 옵저버 패턴
- 함수형프로그래밍
- El
- factory method
- Today
- Total
목록분류 전체보기 (333)
오늘도 더 나은 코드를 작성하였습니까?

연결 리스트, 링크드 리스트(linked list) 각 노드가 데이터와 포인터를 가지고 한 줄로 연결되어 있는 방식으로 데이터를 저장하는 자료 구조이다. 이름에서 말하듯이 데이터를 담고 있는 노드들이 연결되어 있는데, 노드의 포인터가 다음이나 이전의 노드와의 연결을 담당하게 된다. 연결 리스트의 종류로는 단일 연결 리스트, 이중 연결 리스트, 원형 연결 리스트 등이 있다. 연결 리스트는 늘어선 노드의 중간지점에서도 자료의 추가와 삭제가 O(1)의 시간에 가능하다는 장점을 갖는다. 그러나 배열이나 트리 구조와는 달리 특정 위치의 데이터를 검색해 내는데에는 O(n)의 시간이 걸리는 단점도 갖고 있다. 단 방향 연결리스트 Head 노드 (첫번째 데이터 노드)를 참조하는 주소를 잃어버릴 경우 데이터 전체를 못 ..

정의 기본적인 자료구조의 한가지로, 먼저 집어 넣은 데이터가 먼저 나오는 FIFO(First In First Out)구조로 저장하는 형식을 말한다. queue는 표를 사러 일렬로 늘어선 사람들로 이루어진 줄을 말하기도 하며, 먼저 줄을 선 사람이 먼저 나갈 수 있는 상황을 연상하면 된다. 나중에 집어 넣은 데이터가 먼저 나오는 스택과는 반대되는 개념이다. https://www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net Queue를 이용하여, 쉽게 무언가 지금 규칙에 맞지 않지만, 추후에 반드시 작업을 해주어야 한다면... 재삽입을 통해 1열로 대기시킨..

정의 여기서는 일단, 컴퓨터 공학의 알고리즘 문제 해결에 관련한 백트레킹의 개념만 다룹니다. 백트래킹(backtracking)은 한정 조건을 가진 문제를 풀려는 전략이다. 백트래킹은 기본적으로 완전탐색을 하는것을 기반으로 합니다. 즉, 가능한 모든 경우를 고려하는것이 첫번째이다. 그리고 각각의 경우의 수를 만족하기 위한 한정적 조건들을 존재합니다. 가능성이 있는 후보를 점진적으로 구축하고 후보가 특정 목표까지 완료될 수 없다고 판단하는 즉시 후보를 포기합니다("backtracking") 이때 후보군을 포기할 때 솔루션에 영향을 주는 부분을 변경하였다면, 그것을 반드시 원복 시켜주어야 한다. 이것은 백트래킹뿐 아니라 완전탐색에서도 동일하게 원복시켜주어야 합니다. https://www.acmicpc.net/..

정의 스택(stack)은 제한적으로 접근할 수 있는 나열 구조이다. 그 접근 방법은 언제나 목록의 끝에서만 일어난다. 끝먼저내기 목록(Pushdown list)이라고도 한다. 스택은 한 쪽 끝에서만 자료를 넣거나 뺄 수 있는 선형 구조(LIFO - Last In First Out)으로 되어 있다. 자료를 넣는 것을 '밀어넣는다' 하여 푸쉬(push)라고 하고 반대로 넣어둔 자료를 꺼내는 것을 팝(pop)이라고 하는데, 이때 꺼내지는 자료는 가장 최근에 푸쉬한 자료부터 나오게 된다. 이처럼 나중에 넣은 값이 먼저 나오는 것을 LIFO 구조라고 한다. kotlin의 collections는 java의 collections 라이브러리를 그대로 사용한다. stack 역시 java.util.stack 패키지에서 가..