2023.02.05 - [자료구조 및 알고리즘] - #7 큐(Queue) - 개념(FIFO : First In First Out) #7 큐(Queue) - 개념(FIFO : First In First Out) - 큐(Queue)도 Stack과 같이 단순한 규칙을 가지고 있는 리스트이다. - 규칙 : FIFO(First In First Out) - 즉, 먼저 들어간 데이터가 가장 먼저 나온다는 의미로서 먼저 들어간게 가장 나중에 나오는 Stack과 radderveloper.tistory.com - CPU 스케줄러가 어떻게 동작하는지 알아보기 전에 이번 글과 관련이 있으므로 먼저 읽어보자 ● 프로세스 상태 - 이전 글에서 작성했던 프로세스 상태에 대해 다시 알아보자 2023.02.24 - [운영체제] - #..
● 도입 - 컴퓨터의 자원은 크게 2가지로 분류할 수 있다. 1. 필수 장치 : CPU, 메모리 등 2. 주변 장치 : HDD, 키보드, 마우스 등 - 앞으로 몇 개의 글을 통해 필수 장치 중 하나인 CPU에 대해 배워볼 것이다. ● CPU 스케줄링 - 프로그램을 실행시키면 메모리에 프로세스가 생성되고 각 프로세스에는 1개 이상의 Thread가 존재한다. - 이러한 프로세스들은 CPU를 차지하기 위해 OS의 명령을 기다리고 있는 상태(한 번에 하나의 프로세스만 실행된다.) - OS는 모든 프로세스에게 CPU를 할당 / 해제 하는데 이를 CPU 스케줄링이라고 한다. - CPU 스케줄링에서 스케줄러(OS)가 고려해야 할 사항은 2가지가 있다. - 참고로 아래의 2가지 사항이 PC 성능에 매우 큰 영향을 미치..
[문제] [해설] - 나는 반복문의 노예인가? 풀긴 풀었다. import java.util.*; import java.util.ArrayList; import java.util.Arrays; import java.util.Comparator; class Solution { public String solution(int[] food) { String answer = ""; List list = new ArrayList(); List list2 = new ArrayList(); for(int i = 0; i 1 && i > 0) { int mock = food[i] / 2; int..
● Insertion Sort? - Insertion Sort 또한 어렵지는 않지만 성능이 아쉬운 정렬이다. - Insertion Sort 또한 Selection sort와 마찬가지로 배열을 두 영역(정렬된 영역, 정렬되지 않은 영역)으로 나눠서 진행한다. - Insertion Sort는 정렬되지 않은 영역의 가장 앞에 있는 데이터를 하나씩 꺼내서 정렬된 영역 내의 적절한 위치에 삽입해서 정렬하는 알고리즘이다. [4, 1, 5, 3, 6, 2] - 참고로 Insertion Sort는 첫 번째 원소(index = 0)는 이미 정렬이 되어있다는 가정하에 정렬을 하는 알고리즘이다. - 아래 그림으로 보면 (index[0] = 4)는 이미 정렬되어 있는 상태이다. 1. - 정렬되지 않은 영역의 첫 번째 원소인 ..
[문제] [해설] - 상당히 지저분하게 풀었다. 뭐 어쨌든 답은 맞췄으니까 - 문제가 약간 선택 정렬의 느낌이 들어서 그거랑 비스무리하게 풀었다. class Solution { public int[] solution(String s) { int[] answer = new int[s.length()]; for(int i = 0; i < s.length(); i++) { if(i == 0) { answer[0] = -1; } else { String tmp = s.substring(0, i); String str = String.valueOf(s.charAt(i)); if(tmp.indexOf(str) == -1) { answer[i] = -1; } else { int count = 1; for(int j ..
[문제] [해설] - Level 0 만 풀으니까 우물 안 개구리가 될 것 같다. 그래서 조금씩 Level 1 문제도 풀고자 한다. - 당연히 못 풀었고 사실 문제를 풀 당시 지문과 예시를 다르게 이해했다. (세로 좌표, 가로 좌표) 드래그의 시작점이 (lux, luy), 끝점이 (rdx, rdy)라면 정수 배열 [lux, luy, rdx, rdy]를 return * 드래그의 시작점이 (lux, luy), 끝점이 (rdx, rdy) = 드래그의 시작점이 (세로, 가로), 끝점이 (세로, 가로) * [lux, luy, rdx, rdy]를 return = [세로, 가로, 세로, 가로]를 return --------------------------------------------------------------..
- Total
- Today
- Yesterday
- Java8
- 프로그래머스
- Phaser3
- MongoDB
- spring
- nosql
- MySQL
- DART
- 코딩테스트
- SQL
- 프로세스
- git
- 코테
- 빅데이터
- Advanced Stream
- API
- db
- java
- SpringBoot
- 알고리즘
- 자료구조
- Phaser
- 빅데이터 분석기사
- Spring Boot
- 메모리
- node.js
- Stream
- jpa
- OS
- 운영체제
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |