전체 글 1106

Tortoise and Hare (거북이와 토끼) 알고리즘 _ Singly Linked List에서 중간 노드를 찾기

단일 연결 리스트(Singly Linked List)에서 중간 노드를 찾는 함수를 구현한 예제class Solution: def middleNode(self, head: Optional[ListNode]) -> Optional[ListNode]: slow, fast = head, head while fast and fast.next: slow = slow.next fast = fast.next.next return slowclass Solution: def middleNode(self, head: Optional[ListNode]) -> Optional[ListNode]:Solution 클래스 안에 middleNode..

[운영체제] 디스크 스케줄링 vs I/O 스케줄링

✅ 디스크 스케줄링이란?디스크(주로 HDD)에서 데이터를 읽거나 쓸 때, 어떤 요청을 먼저 처리할지를 정하는 방법이야.HDD는 회전하는 자기 디스크와 움직이는 헤드를 이용해서 데이터를 찾기 때문에, 요청 순서를 잘 정하면 디스크 헤드 이동 거리를 줄일 수 있어.예를 들어, 여러 사람이 동시에 "책 좀 꺼내줘!"라고 요청하면, 가장 가까운 위치부터 처리하는 게 효율적이겠지? 그걸 스케줄링으로 정해주는 거야.---✅ 왜 디스크 스케줄링이 필요했어?HDD는 물리적으로 느려. 회전하고, 헤드도 움직여야 하니까.요청을 효율적으로 처리하려면 순서를 잘 조정해야 속도를 높일 수 있었던 거야. 그래서 FCFS, SSTF, SCAN, LOOK 같은 다양한 디스크 스케줄링 알고리즘이 나왔지.---✅ SSD는 왜 디스크 스..

카테고리 없음 2025.07.21

[운영체제] 기억장치(메모리), 할당과 반납, 단편화

운영체제에서 기억장치(메모리), 할당과 반납, 그리고 단편화---🎯 1. 기억장치(메모리)는 뭐냐면?→ 책상 위 공간이라고 생각해봐!우리가 컴퓨터를 쓸 때, 실행 중인 프로그램(앱)들은 책상 위에 펼쳐지는 책이나 노트야.책상 위에 공간이 있어야 책을 펼쳐 놓고 볼 수 있지?이 책상 위 공간이 바로 메모리야. (RAM)---🧩 2. 할당이랑 반납은 뭐야?📦 할당(Allocation)누가 책상 위에 책을 펼치는 것이야.컴퓨터 입장에서 보면, 프로그램을 실행할 때 “나 이만큼 공간 좀 써도 돼?”라고 말하고,운영체제가 “응, 여기 이만큼 써~” 하면서 공간을 빌려주는 것이야.🧹 반납(Deallocation)책 다 보고 나서 책을 치우는 것이야.공간이 다시 비워져서 다른 프로그램이 쓸 수 있게 되는 것이..

카테고리 없음 2025.07.21

C언어의 static

🔹 static int x = 0; 의 의미 (함수 안에서)이 변수는 함수가 여러 번 호출되어도 단 한 번만 초기화됩니다.변수 x는 함수의 지역 스코프(외부에서는 접근 못함)이지만, 메모리는 전역(static) 영역에 저장됩니다.그래서 함수가 다시 호출돼도 x는 값을 유지해요.---✅ 예시로 확인int func() { static int x = 0; // 함수가 처음 호출될 때 딱 한 번만 0으로 초기화됨 x += 2; return x;}호출 예시printf("%d\n", func()); // 출력: 2printf("%d\n", func()); // 출력: 4printf("%d\n", func()); // 출력: 6---🔸 결론static 변수는 함수 안에 있어도 다시 초기화되지 않..

카테고리 없음 2025.07.01

관계대수와 관계해석

관계대수와 관계해석은 데이터베이스 이론에서 질의를 표현하는 두 가지 방법이에요. 쉽게 말해서, "DB에서 데이터를 어떻게 꺼내올까?"를 수학적으로 표현하는 방식이에요.🎯 개념 간단 정리---🍔 햄버거 예시로 설명해볼게요!🍔 예시 상황:햄버거 가게 DB가 있어요. 테이블 이름은 Burger이고, 구조는 아래와 같아요.ID Name Type Price1 Bulgogi Beef 50002 Chicken Chicken 45003 Shrimp Seafood 55004 Spicy Beef Beef 5200---1. 📐 관계대수 (Relational Algebra)> 데이터를 꺼내기 위한 절차(연산자)를 차례대로 써요.예) Beef 햄버거만 찾고 싶을 때:σ Type = 'Beef' (Burger)σ는 셀렉션..

카테고리 없음 2025.06.26

[CS] HDLC (High level Data Link Control)

편지나 택배를 보내는 상황📦📬✉️ HDLC = 규칙이 잘 정해진 우편 시스템HDLC는 **데이터를 정확하고 안전하게 주고받기 위해 만든 규칙(프로토콜)**📮 1. 프레임 = 편지 봉투HDLC에서는 데이터를 프레임(Frame) 단위로 주고받아요.마치 편지나 택배도 **포장(봉투)**해서 보내듯이,데이터도 프레임이라는 포장을 해서 보냄. ---🏷️ 2. 주소, 내용, 검사표 = 편지의 구성편지 봉투에는 보내는 사람, 받는 사람, 내용, 확인용 표시가 있다.---🔁 3. 확인과 재전송 = 답장 받기편지를 보냈을 때, 상대가 “잘 받았어요!” 하고 알려줘야 안심되죠?HDLC도 마찬가지예요. 데이터를 받으면 **응답 메시지(ACK)**를 보내요.만약 문제가 있으면 재전송 요청도 할 수 있어요.---🛡️..

카테고리 없음 2025.06.03