일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 노드연산
- 삼성코테
- foreach
- 부정연산자
- 기업코테
- SELELCT
- 논리합
- 백엔드개발자
- 투포인터
- Divisior
- 코딩테스트
- 최대공약수
- 백엔드개발
- 파스칼표기법
- MySQL
- codingtest
- bigo
- 카멜표기법
- 코테
- GCD
- 팩토리얼
- 완전탐색
- 자바집합
- 논리곱
- 1차원배열
- 메소드
- 참조형타입
- SQL
- labels
- Java
- Today
- Total
목록전체 글 (45)
Data Blended Whisky

프로세스 구조에 대한 설명 컨텍스트 스위칭에 대한 설명 프로세스간 어떻게 통신하는지에 대한 설명 ... 스케쥴러와 프로세스 프로세스 실행 관리 - 스케쥴러 프로세스 실행 순서 시분할 시스템 : 프로세스 응답 시간을 가능한 짧게한다. 멀티 프로그래밍 : CPU 활용도를 최대로하여 프로세스를 재빠르게 실행한다. FIFO 스케쥴러 가장 간단한 스케쥴러 ( 배치 처리 시스템 ) ( First In First Out ) SJF 스케쥴러 - 최단 작업 우선 스케쥴러 프로세스 실행시간이 가장 짧은 프로세스 부터 먼저 실행 시키는 알고리즘 ( Shortest Job First ) 최소한 우선순위 큐와 힙 자료구조 사용을 고려한다. ( 시간 복잡도를 줄일 수 있다. ) 운영체제의 핵심기능인 스케쥴러는 자주 호출되므로 그..

운영체제(OS) 응용프로그램 또는 사용자가 컴퓨터 하드웨어를 편리하고 효율적으로 사용하게 하기 위하여 시스템 자원(메모리, 프로세서 등)을 관리하고 여러가지 프로그램이 필요로 하는 공통적인 서비스를 제공하는 소프트웨어 운영체제 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 운영체제(運營 體制, 문화어: 조작 체계) 또는 오퍼레이팅 시스템(operating system, 약칭: OS)은 사용자의 하드웨어, 시스템 리소스를 제어하고 프로그램에 대한 일 ko.wikipedia.org 윈도우 UNIX 계열 OS(리눅스) MacOS OS : kernel 에 여러가지가 추가된 상태이다. 쉘(Shell) 쉘은 운영 체제 상에서 다양한 운영 체제 기능과 서비스를 구현하는 인터페이스를 제공하는 프..

알고리즘 어떤 문제 해결을 위한 절차나 방법 알고리즘의 조건 입력 출력 명확성 유한성 ( 정해진 시간 내에 알고리즘이 실행 돼야하는 것 ) 효율성 좋은 알고리즘이란 ? 정확성 시간 복잡도 공간 복잡도 알고리즘 종류 정렬 이진탐색 / 투포인터 그리디 알고리즘 분할 정복 / DP 백 트래킹 최단 경로 최소 신장 트리 정렬 난이도가 낮지만 속도가 느린 알고리즘 버블 정렬, 삽입 정렬, 선택 정렬 난이도가 어렵지만 속도가 빠른 알고리즘 합병 정렬, 힙 정렬, 퀵 정렬, 트리 정렬 하이브리드 정렬 팀 정렬, 블록 병합 정렬, 인트로 정렬 기타 정렬 알고리즘 기수 정렬, 카운팅 정렬, 셀 정렬, 보고 정렬 버블 정렬 인접한 데이터를 비교하여 자리를 바꾸는 정렬 알고리즘 복잡도 : O(n²) 1) public sta..

연결리스트 1. 데이터를 링크로 연결해서 관리하는 자료구조 2. 자료의 순서는 정해져 있지만, 메모리상 연속성이 보장되지 않는다. Pros 1. 데이터 공간을 미리 할당할 필요가 없다. 2. 리스트의 길이가 가변적, 데이터 추가 및 삭제 용이 Cons 1. 연결 구조를 위한 별도 데이터 공간 필요 2. 연결 정보를 찾는 시간 필요 3. 데이터 추가 및 삭제 시 앞뒤 데이터의 연결 재구성 필요 구조 노드(Node) : 데이터 저장 단위 - 값과 포인터로 구성 연산 데이터 추가 : 데이터의 추가 위치(head, 중간, tail) 에 따른 연결 작업 필요 데이터 삭제 : 데이터의 삭제 위치(head, 중간, tail) 에 따른 연결 작업 필요 노드 생성 class Node { int data; Node nex..

배열 1. 많은 수의 데이터를 다룰 때 사용하는 자료구조 2. 각 데이터를 인덱스와 1:1 대응 하도록 구성 3. 데이터가 메모리 상에 연속적으로 저장된다. Pros 인덱스를 이용하여 데이터에 빠르게 엑세스 할 수 있다. arr[0] -> 'a' arr[1] -> 'b' arr[2] -> 'c' Cons 데이터의 추가 및 삭제가 번거롭다. - 미리 최대 길이를 정해서 생성해야한다. - 가변 길이 배열은 배열의 크기를 변경할 때마다 새로운 배열을 만들어야한다. - 데이터 삭제 시, 인덱스를 유지하기 위해 빈 공간을 유지한다. 1차원 배열 int[] arr = {1, 2, 3, 4, 5}; for (int item: arr) { System.out.println("item = " + item); } /* i..

자료구조 자료를 효율적으로 관리하기 위한 구조 - 관리-> 저장, 삭제, 탐색 ... 목적에 맞게 사용한 자료구조는 실행시간 단축과 메모리 용량 절감 효과가 있다. 선형 자료구조 배열 연결 리스트 스택, 큐, 데크 해시 테이블 비선형 자료구조 트리 그래프 힙 / 우선순위 큐 트라이

복잡도 (Complexity) 알고리즘 성능을 나타내는 척도 시간 복잡도 - 알고리즘의 필요 연산 횟수 공간 복잡도 - 알고리즘의 필요 메모리 Trade-off 관계 ( 시간 복잡도 - 공간 복잡도 ) 시간 복잡도 어떤 문제를 해결하기 위한 알고리즘의 필요 연산 횟수 빅오(Big - O) 표기법을 통해 나타낸다. O( 1 ). 일반적으로 1 번 연산하는 방식 // O(1) System.out.println("hello"); O( logN ). // O(logN) for (int i = 1; i < 16; i*=2) { System.out.println("hello"); } /* hello hello hello hello */ log2의 16은 4니깐, 4번 출력된다. O( N ). // O(N) for ..

제곱, 제곱근, 지수 제곱 System.out.println(Math.pow(2,3)); // 8.0 System.out.println(Math.pow(2,-3)); // 0.125 System.out.println(Math.pow(-2,-3)); // -0.125 System.out.println(Math.pow(2,30)); // 1.073741824E9 System.out.printf("%.0f\n", Math.pow(2,30)); // 1073741824 제곱근 System.out.println(Math.sqrt(16)); // 4 System.out.println(Math.pow(16,1.0/2)); // 4 System.out.println(Math.pow(16,1.0/4)); // 2 절대값..

점화식(Recurrence) 어떤 수열의 일반항을 그 이전의 항들을 이용하여 정의한 식 피보나치 수열 // 1, 3, 9, 27, ... 의 n번째 수 int n = 4; int result = 1; for (int i = 0; i < n; i++) { if (i == 0) { result = 1; } else { result *= 3; } } System.out.println(result); // 1, 2, 3, 4, 5, 6, ... 의 n번째 까지의 합 n = 5; result = 0; for (int i = 1; i < n + 1; i++) { result += i; } System.out.println(result); // 1, 1, 2, 3, 5, 8, 13, ...의 n번 째 수 n = 6;..