| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 백준 2587번
- 일상생활 영어표현
- html
- Java
- 백준 1157번
- Unity
- 연속된 숫자의 합
- 차이
- 상세 풀이
- 알고리즘
- 자료구조
- 피라미드 출력
- 백준 27433번
- 백준 2501번
- python
- C++
- 배열
- C
- 백준 9506번
- 백준 #11382번 #
- 자바
- javascript
- 백준 5086번
- 백준 5597번
- 잡다한 일
- 해석
- 5073번
- 직각 삼각형
- 백준 1269번
- 백준 25305번
- Today
- Total
목록전체 글 (83)
YunDev
1️⃣ Deque란 무엇인가?Deque (Double-Ended Queue) 는양쪽 끝(front, rear)에서 삽입과 삭제가 모두 가능한 선형 자료구조이다.이름 그대로Double + Ended + Queue즉, 앞과 뒤에서 모두 push/pop이 가능한 구조2️⃣ Deque의 핵심 특징연산설명addFirst()앞에 삽입addLast()뒤에 삽입removeFirst()앞에서 삭제removeLast()뒤에서 삭제peekFirst()앞 요소 조회peekLast()뒤 요소 조회Stack + Queue의 기능을 모두 포함하는 상위 개념3️⃣ 다른 자료구조와 비교1. Stack (스택)LIFO (Last In First Out)한쪽에서만 삽입/삭제 가능 2. Queue (큐)FIFO (First In First..
1. 큐란 무엇인가?큐(Queue)는 선입선출(FIFO) 방식으로 데이터를 처리하는 자료구조입니다. "먼저 들어온 데이터가 먼저 나간다"는 규칙을 따릅니다.🔼 enqueue(item) → 뒤(Rear)에 삽입🔽 dequeue() → 앞(Front)에서 제거👀 peek() → 가장 앞 요소 조회❓ is_empty() → 큐가 비었는지 확인 2. 큐의 주요 연산과 시간복잡도 3. 배열 vs 연결리스트 기반 큐 구현 비교4. 원형 큐(Circular Queue)일반적인 큐는 배열의 앞쪽에서 계속 요소를 제거하면 비어 있는 공간이 생겨 낭비됩니다.이를 해결하기 위해 원형 큐에서는 배열을 환형 구조로 활용하여 공간 낭비 없이 연속적으로 사용합니다.class CircularQueue: def __init..
스택(Stack) 은 Last In, First Out (LIFO, 후입선출) 구조를 가지는 자료구조입니다.즉, 가장 마지막에 추가된 데이터가 가장 먼저 제거되는 방식입니다.1. 스택의 개념데이터를 쌓아 올리는 구조로 동작하며, 한쪽 끝에서만 데이터 삽입과 삭제가 이루어짐.후입선출(LIFO, Last In First Out) 구조.주로 함수 호출 스택, 되돌리기(Undo) 기능, 괄호 검사, 경로 탐색(DFS) 등에 사용됨. 배열을 이용한 스택 구현class Stack { private int top; // 스택의 최상위 인덱스 private int maxSize; // 스택의 크기 private int[] stackArray; // 배열을 이용한 스택 // 생성자 public..
이진 검색(Binary Search) 은 정렬된 배열에서 원하는 값을 찾을 때, 중앙 값을 기준으로 탐색 범위를 반으로 줄여가며 찾는 효율적인 알고리즘입니다.배열이 오름차순(또는 내림차순)으로 정렬되어 있어야 사용할 수 있음.배열의 중앙 값과 찾고자 하는 값을 비교하여 왼쪽 또는 오른쪽 반만 검색함.매 단계마다 검색 범위가 절반으로 줄어들므로 시간 복잡도는 O(log n) 으로 매우 빠름.(1) 반복문을 이용한 이진 검색public class BinarySearch { // 반복문을 이용한 이진 검색 public static int binarySearch(int[] arr, int target) { int low = 0; int high = arr.length - 1;..
선형 검색(Linear Search) 은 배열이나 리스트에서 원하는 값을 찾을 때, 처음부터 하나씩 차례대로 비교하면서 탐색하는 알고리즘입니다.배열의 첫 번째 요소부터 마지막 요소까지 차례로 비교하며 찾고자 하는 값과 일치하는지 검사합니다.일치하는 값을 찾으면 해당 인덱스를 반환하고, 찾지 못하면 -1을 반환합니다.정렬되지 않은 배열에서도 사용할 수 있지만, 평균적으로 시간 복잡도가 O(n)으로 비효율적입니다.public class LinearSearch { // 선형 검색 메서드 public static int linearSearch(int[] arr, int target) { for (int i = 0; i 보초법(Sentinel Linear Search)은 선형 검색을 최적..
자바에서 클래스(Class) 는 객체를 생성하기 위한 틀(템플릿)입니다. 클래스는 속성(멤버 변수)과 동작(메서드)을 포함하여 하나의 개체를 정의합니다.// 클래스 선언class 클래스이름 { // 멤버 변수 (필드) 데이터타입 변수명; // 생성자 클래스이름() { // 생성자 코드 } // 메서드 (행동) 반환타입 메서드이름(매개변수) { // 실행할 코드 }} 클래스 예제 코드입니다.// Person 클래스 정의class Person { // 멤버 변수 (속성) String name; int age; // 생성자 Person(String name, int age) { th..