🧩 Baekjoon 14891 - 톱니바퀴
문제 총 8개의 톱니를 가지고 있는 톱니바퀴 4개가 아래 그림과 같이 일렬로 놓여져 있다. 또, 톱니는 N극 또는 S극 중 하나를 나타내고 있다. 톱니바퀴에는 번호가 매겨져 있는데, 가장 왼쪽 톱니바퀴가 1번, 그 오른쪽은 2번, 그 오른쪽은 3번, 가장 오른쪽 톱니바퀴는 4번이다. 이때, 톱니바퀴를 총 K번 회전시키려고 한다. ...
문제 총 8개의 톱니를 가지고 있는 톱니바퀴 4개가 아래 그림과 같이 일렬로 놓여져 있다. 또, 톱니는 N극 또는 S극 중 하나를 나타내고 있다. 톱니바퀴에는 번호가 매겨져 있는데, 가장 왼쪽 톱니바퀴가 1번, 그 오른쪽은 2번, 그 오른쪽은 3번, 가장 오른쪽 톱니바퀴는 4번이다. 이때, 톱니바퀴를 총 K번 회전시키려고 한다. ...
🔹 동적 계획법이란? ▫️ 개념 큰 문제를 여러 개의 작은 문제로 나눠서 푸는 방식 동일한 하위 문제가 반복되는 경우, 그 결과를 저장해 중복 계산을 피함 하향식(메모이제이션) 또는 상향식(반복문) 방식으로 구현 ▫️ 특징 중복되는 하위 문제(Overlapping Subproblems) 최적 부분 구조(Optimal Subst...
🔹 그리디 알고리즘이란? ▫️ 개념 문제를 해결할 때 매 단계에서 가장 최선이라고 판단되는 선택을 하는 알고리즘 전체 최적해를 보장하지 않을 수도 있지만, 문제에 따라 매우 효율적이고 간단하게 구현 가능 ▫️ 특징 현재 상황에서 최선의 선택을 하므로 탐욕적(Greedy)이라고 불림 해를 찾는 과정에서 이전 결정에 영향을 받지 않...
🔹 트랜잭션이란? 데이터베이스에서 하나의 작업 단위를 의미한다. 여러 SQL 문장이 하나의 논리적인 작업으로 묶여야 할 때 사용된다. 모든 작업이 성공적으로 끝나야 커밋되며, 하나라도 실패하면 롤백된다. 🔹 트랜잭션의 ACID 4가지 속성 원자성(Atomicity): 트랜잭션은 모두 수행되거나 전혀 수행되지 않아야 한다. 일관...
🔹 OSI 7계층이란? OSI(Open Systems Interconnection) 모델은 네트워크 통신을 7단계 계층으로 나눈 구조적 모델이다. 각 계층은 서로 독립적으로 동작하며, 아래 계층의 기능을 기반으로 위 계층이 동작한다. ▫️ 물리 계층 (Physical) 전기 신호, 전송 매체, 케이블, 핀 등 실제 하드웨어 ▫️ ...
🔹 가상 메모리란? 가상 메모리는 실제 물리 메모리보다 큰 공간을 프로세스에 제공하기 위한 메모리 관리 기법이다. 각 프로세스는 독립된 주소 공간을 가지며, 운영체제가 실제 메모리(RAM)와 보조기억장치(Disk)를 조합해 가상 주소를 실제 주소로 매핑한다. 장점은 다음과 같다. 물리 메모리보다 더 큰 공간 제공 ...
🔹 프로세스 동기화란? 여러 프로세스나 스레드가 공유 자원을 동시에 사용할 때, 데이터의 일관성과 안정성을 유지하기 위해 필요한 기술이다. 예를 들어, 두 개의 스레드가 동시에 같은 파일에 접근해서 수정하려 하면, 예기치 않은 결과가 발생할 수 있다. 이를 막기 위해 동기화 메커니즘이 사용된다. 🔹 주요 동기화 메커니즘 ▫️ 세마포어(...
🔹 멀티프로세스가 적합한 상황 ▫️ 안정성과 격리성이 중요한 경우 하나의 프로세스가 오류나 예외로 종료되더라도, 다른 프로세스에는 영향을 주지 않음 크롬 브라우저(탭마다 프로세스 분리), 서버의 마이크로서비스 구조를 예시로 들 수 있다. ▫️ 보안이 중요한 경우 프로세스는 메모리를 공유하지 않기 때문에, 의도치 않은 데이터 접근을 방...
🔹 개요 운영체제는 프로그램 실행의 핵심 환경을 제공하는 시스템 소프트웨어다. 오늘은 그중에서도 핵심 개념인 Process, Thread, Context-Switching에 대해 정리한다. 🔹 프로세스(Process)란 프로세스는 실행 중인 프로그램을 의미한다. 프로그램이 메모리에 올라가 실행되면서 CPU 자원, 메모리 자원 등을...
🔹 이진 탐색(Binary Search) ▫️ 개념 정렬된 배열에서 중간값과 찾는 값을 비교하여 탐색 범위를 절반씩 줄여가며 원하는 값을 찾는 알고리즘 ▫️ 시간 복잡도 평균, 최악: O(log n) 공간 복잡도: O(1) ▫️ 특징 배열이 반드시 정렬되어 있어야 함 빠른 탐색 속도 ▫️ 예제 코드 public cl...