큐 큐는 뒤에서 새로운 데이터가 추가되고 앞에서 데이터가 하나씩 삭제되는 구조로 선입선출 특성을 가진다. 구조상으로 큐가 스택과 다른 점이 있다. 스택의 경우, 삽입과 삭제가 같은 쪽에서만 일어난다. 그렇지만 큐에서는 삽입과 삭제가 다른 쪽에서 일어난다. ✅ 큐에서 삽입이 일어나는 곳을 후단(rear)이라 하고 삭제가 일어나는 곳을 전단(front)이라고 한다. 📌 큐 연산 enQueue(int value) : 큐 후단(rear)에 값을 추가 deQueue() : 큐 전단(front)의 값을 제거 isFull() : 큐가 가득 찼는지 확인 isEmpty() : 큐가 비어있는지 확인 displayQueue() : 큐에 있는 요소들 출력 클래스 생성 #define MAX_SIZE 5 class Queue {..
https://programmers.co.kr/learn/courses/30/lessons/42586# 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr ⊙ 문제 ⊙ 제한사항 ⊙ 입출력 예 ⊙ 입출력 예 설명 ⊙ 문제 접근 과정 먼저 각 프로세스마다 며칠이 걸리는지 계산을 해줘야 한다. 그리고 계산한 결과를 days라는 배열을 만들어 넣어줬다. 넣어주고 나면 첫 번째 예제의 경우에 days는 [7,3,9]가 들어간다. 그다음엔 첫 번째 값을 빼서 스택에 넣어주고 그 값과 days에 있는 값들을 비교한다...
https://programmers.co.kr/learn/courses/30/lessons/42587 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린 programmers.co.kr ⊙ 문제 ⊙ 제한사항 ⊙ 입출력 예 ⊙ 입출력 예 설명 ⊙ 문제 접근 과정 2차원 배열로 만들어줬다. 같은 우선순위일 때, 구별하기 위해서이다. 2차원 배열로 만들어줘서 2번째 값을 location에 해당하는 값, 다시 말해 내가 알고자 하는 인쇄물을 체킹 한다. 그리고 deque를 사용하여 계속해서 돌려줬다. 우선순위에 밀리면 뒤로 밀어내고, 우선순위라면 내가 찾..
https://www.acmicpc.net/problem/1202 1202번: 보석 도둑 첫째 줄에 N과 K가 주어진다. (1 ≤ N, K ≤ 300,000) 다음 N개 줄에는 각 보석의 정보 Mi와 Vi가 주어진다. (0 ≤ Mi, Vi ≤ 1,000,000) 다음 K개 줄에는 가방에 담을 수 있는 최대 무게 Ci가 주어진다. (1 ≤ Ci www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 자료 구조 그리디 알고리즘 정렬 우선순위 큐 ⊙ 문제 접근 과정 1️⃣ 보석 리스트 gem에 (무게, 가치)를 담아준다. 2️⃣ bag 값을 담아주고 정렬해준다. 3️⃣ 임시 배열인 temp를 만들어 허용 가능한 보석을 계속 넣어주고 그중 값어치 나가는 보석을 pop 4️⃣ p..
다중 큐 프로세스를 효율적으로 관리하기 위해 여러 개의 큐를 만든다. 준비 상태의 다중 큐 매번 프로세스 제어 목록을 검색하면 효율성이 떨어져 우선순위에 따라 다중 큐를 운영한다. 대기 상태의 다중 큐 시스템의 효율을 높이기 위해 대기 상태에서는 같은 입출력을 요구한 프로세스를 모은다. 스케줄링 알고리즘 스케줄링 알고리즘은 선점형 알고리즘과 비선점형 알고리즘으로 나뉜다. *스케줄링 알고리즘 종류 스케줄링 알고리즘의 선택 기준 CPU 사용률 : 전체 시스템의 동작 시간 중 CPU가 사용된 시간을 측정하는 방법 처리량 : 단위 시간당 작업을 마친 프로세스의 수 대기 시간 : 작업을 요청한 프로세스가 작업을 시작하기 전까지 대기하는 시간 응답 시간 : 프로세스 시작 후 첫 번째 출력 또는 반응이 나올 때까지 ..
www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 자료 구조 큐 ⊙ 문제 접근 과정 Queue를 이용해 접근했다. 문제에서 원하는 건 N명의 사람을 입력받은 후, K번째마다 추출하고 String에 계속하여 추가해주면 되는 문제다. String을 계속해서 수정해주어야 하기 때문에 StringBuilder를 선언해주었다. 만약 N=5 , K= 2이면 1. {1,2,3,4,5} 2.-> {2,3,4,5,1} ☞ 2번째 제일 앞 숫자(2) 추출 3.-> {3,4,5,1} 4.-> {4,5,1,3} ..
- Total
- Today
- Yesterday
- 풀이
- 프로그래머스
- 쉽게배우는
- 정리
- 정렬
- 정답
- py
- OS
- 쉽게배우는자바프로그래밍
- JS
- 파이썬
- java
- 쉽게 배우는 자바 프로그래밍
- 그리디
- 해답
- 우종정
- Web
- C++
- 답
- 자바
- CPP
- 연습문제
- BFS
- 운영체제
- 알고리즘
- 문자열
- 백준
- 구현
- 자바스크립트
- Python
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |