1. 스택이란?스택(Stack)은 데이터를 차곡차곡 쌓고, 나중에 쌓은 데이터를 먼저 꺼내는 후입선출(Last-In-First-Out, LIFO) 구조의 자료구조이다.접시를 한 장씩 쌓고 맨 위에서부터 꺼내는 구조를 떠올리면 이해가 쉽다. 2. 스택을 왜 다뤄야 할까? 프로그래밍을 하다 보면, 데이터를 순서대로 저장하고, 가장 마지막에 저장한 데이터를 가장 먼저 꺼내야 하는 상황이 자주 발생한다. 예를 들면 다음과 같다:웹 브라우저의 뒤로 가기: 방문한 페이지를 순서대로 스택에 쌓고, 가장 마지막 페이지부터 꺼낸다.재귀 호출 처리: 함수 호출은 스택 메모리에 쌓이고, 종료 시 LIFO 구조로 되돌아간다.문법 검사기: 괄호 짝 검사, 수식 유효성 검사 등에 사용된다.문자열 뒤집기: 한 글자씩 스택에 넣고..
🤔 겉보기에는 길이 4인데, 실제로는 2?다음과 같은 배열을 봤을 때, 얼핏 보면 배열 길이가 4처럼 보인다.[ 'one', 'two', once: 'once', twice: 'twice' ] 하지만 실제로는 길이가 2인 배열이다. 왜 그럴까?이유는 바로 자바스크립트 배열은 객체이기 때문이다.🧠 핵심 개념: 배열은 객체다자바스크립트의 배열은 Array라는 특별한 형태의 객체(Object)다.객체이기 때문에 배열에 숫자 인덱스를 갖는 요소 외에도, 직접 속성(property)을 추가할 수 있다.const arr = ['one', 'two'];arr.once = 'once';arr.twice = 'twice';console.log(arr.length); // 2이처럼 arr.once나 arr.twice는..
🔎 왜 이걸 다루는 걸까?코딩 테스트나 실무에서 두 값의 위치를 바꾸는 작업, 흔히 말하는 swap은 정말 자주 등장한다.특히 정렬 알고리즘이나 배열 인덱스를 조작하는 문제에서 필수로 등장하니, 깔끔하게 익혀두면 좋다!🧠 핵심 개념 / 코드 예제✅ 임시 변수 사용가장 기본적인 방식은 임시 변수(temp)를 만들어서 교환하는 방법이다.let a = 1;let b = 2;let temp = a;a = b;b = temp;console.log(a, b); // 2 1✨ 구조 분해 할당 (비구조화 할당)자바스크립트에서는 배열 디스트럭처링 문법으로 간단하게 swap 할 수 있다.let a = 1;let b = 2;[a, b] = [b, a];console.log(a, b); // 2 1코드 한 줄로 값을 바꿀..
✨ 자바스크립트 배열 정렬 – 문자열 길이 기준으로 정렬하기🔎 왜 이걸 다루는 걸까?프로그래밍을 하다 보면 문자열 배열을 길이 순서대로 정렬해야 할 일이 자주 생긴다.예를 들어, 짧은 단어부터 차례로 탐색하거나, DP 문제에서 작은 케이스부터 처리할 때 유용하게 쓰일 수 있다.자바스크립트에서는 아주 간단한 코드 한 줄로 이걸 구현할 수 있다!🧠 핵심 개념 / 코드 예제📌 기본 문법words.sort((a, b) => a.length - b.length)이 코드 한 줄이 바로 문자열 배열을 길이 기준 오름차순으로 정렬해준다.🧪 예시const words = ["banana", "a", "apple", "bat"];words.sort((a, b) => a.length - b.length);console..
[ 비선점형 스케줄링 알고리즘의 유형 ] 📍암기 : 우기 HFS 알고리즘 유형 동작방식 특징 우선순위 Priority - 프로세스별로 우선순위가 주어지고, 우선순위에 따라 CPU를 할당함 - 동일 순위는 FCFS - 주요/긴급 프로세스에 대한 우선 처리 -설정, 자원 상황 등에 따른 우선순위 설정 기한부 Deadline 작업들이 명시된 시간이나 기한 내에 완료되로록 계획 요청에 명시된 시간 내 처리를 보장 HRN Highest Response Ratio Next - 대기 중인 프로세스 중 현재 응답률이 가장 높은 것을 선택 - 긴 작업과 짧은 작업 간의 불평등 완화 - HRN의 우선순위 = (대기시간 + 서비스 시간) / 서비스 시간 기아 현상 최소화 기법 FCFS First Come First Serv..
[ 선점 스케줄링 알고리즘 ] 📍암기 : SMMR 알고리즘 유형 동작방식 특징 SRT Shortest Remaining Time First 가장 짧은 시간이 소요되는 프로세스를 먼저 수행하고, 남은 처리 시간이 더 짧다고 판단되는 프로세스가 준비 큐에 생기면 언제라도 프로세스가 선점됨 짧은 수행시간 프로세스 우선 수행 다단계 큐 Multi Level Queue - 작업들을 여러 종류 그룹으로 분할, 여러 개의 큐를 이용하여 상위단계 작업에 의한 하위단계 작업이 선점 당함 - 각 큐는 자신만의 독자적인 스케줄링을 가짐 독립된 스케줄링 큐 다단계 피드백 큐 Multi Level Feedback Queue - 입출력 위주와 CPU 위주인 프로세스의 특성에 따라 큐마다 서로 다른 CPU 시간 할당량을 부여 - ..
- Total
- Today
- Yesterday
- 정보처라기사암기
- 철회 상태
- javascript
- 프로토콜의 기본요소
- 완료 상태
- 정보처리기사실기
- 서식문자
- IPv4와 IPv6 특징
- 클라우딩 컴퓨팅
- 제어문자
- 공유 클라우드
- 활동 상태
- IPv6
- 정보처리기사
- 개발팁
- 트랜잭션의 상태
- 실패 상태
- 정보처리기사실기암기
- 트랜잭션
- c++
- 배열조작
- 정처기
- 부분 완료 상태
- 코딩테스트
- 정처기실기
- SELECT 명령문
- 백준
- 정보처리기사암기
- 트랜잭션 제어
- Java
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |