
Stack 이란? - 상자에 물건을 쌓아 올리 듯이 데이터를 쌓는 자료구조이며, 삽입과 삭제를 리스트의 한쪽(top)에서 만 한다. - LIFO(Last In First Out) 구조 Stack 구현 package study; public class Stack { private int[] elements; private int top = 0; private int size = 2; /** * Stack 생성 * default size =16 */ public Stack(){ elements = new int[size]; } public Stack(int data){ elements = new int[size]; elements[top++] = data; } // push public void push(i..

LinkedList란? - 연결 리스트(LinkedList)는 각 노드가 데이터와 포인터를 가지고 한 줄로 연결되어 있는 방식의 자료구조이다. - 데이터를 담고 있는 노드들이 연결되어 있고, 노드의 포인터가 이전 노드와 다음 노드와의 연결을 담당한다. - Node는 LinkedList에 객체를 추가하거나 삭제하면 앞 뒤 링크만 변경되고 나머지 링크는 변경되지 않는다. - 중간에 데이터를 추가하거나 삭제하더라도 전체의 인덱스가 한 칸씩 뒤로 밀리거나 당겨지는 일이 없기 때문에 Array에 비해 데이터의 추가나 삭제가 용이하다. - 인덱스가 없기 때문에 특정 요소에 접근하려면 순차 탐색이 필요하기 때문에 탐색 속도가 떨어진다. 그러므로 탐색 또는 정렬을 자주하는 경우엔 배열을 사용하고, 데이터의 추가/삭제가..

JUnit5란? 자바 개발자가 많이 사용하는 테스팅 기반 프레임워크이다. JUnit은 자바 8 이상부터 사용 가능하며, JUnit Platform과 JUnit Jupiter, Junit Vintage 결합한 형태라고 볼 수 있다. (JUnit5 = JUnit Platform + JUnit Jupiter + Junit Vintage) - JUnit Platform: 테스트를 실행해 주는 런처와 TestEngine API를 제공한다. - Jupiter: TestEngine API 구현체로 JUnit5에서 제공한다. - Vintage: TestEngine API 구현체로 JUnit3, 4에서 제공한다. Write Test JUnit Annotation JUnit5 어노테이션 내용 JUnit4 어노테이션 @Te..

제어문(Control Statement) 코드가 위에서 아래로 순차적으로 실행되는 구문을 순차문이라고 한다. 모든 코드가 순차적으로 실행된다면 좋겠지만 실제로는 그렇지 않다. 제어문은 코드의 실행 흐름을 담당하는 구문으로 선택문, 반복문, 분기문으로 나뉜다. 선택문(Selection Statement) 1) if-then if(조건식) { // 한 줄일 경우 {} 생략 가능 ...조건이 참인 경우 실행되는 코드; } import java.util.Scanner; public class example { public static void main(String[] args) { int num; Scanner sc = new Scanner(System.in); System.out.println("type yo..

[산술 연산자] [비트 연산자] 1) x > y: 정수 x의 각 비트를 y만큼 오른쪽으로 이동시킨다. 빈자리는 정수 a의 최상위 부호비트와 같은 값으로 채워진다. 3) x >>> y: 정수 x의 각 비트를 y만큼 오른쪽으로 이동시킨다. 빈자리는 부호와 상관없이 0으로 채워진다. 앞자리가 0으로만 채워지기 때문에 결과값은 무조건 양수로만 나타난다. 4) x & y: - AND 논리 - 두 비트 모두 1일 경우에만 연산 결과가 1 5) x | y: - OR 논리 - 두 비트 중 하나만 1일 경우에만 연산 결과가 1 6) x ^ y: - XOR 논리 - 두 비트중 하나는 1이고 다른 하나가 0일 경우에만 연산 결과가 1 7) ~ x: - NOT 논리 - 비트 반전(보수) [관계 연산자] - 관계 연산자는 bo..

[기본형 타입(Primitive type)] - 총 8가지의 기본형 타입(Primitive type)을 미리 정의하여 제공한다. - 기본 값이 있기 때문에 Null이 존재하지 않는다. - 실제 값을 저장하는 공간으로 스택(Stack) 메모리에 저장된다. - 만약 컴파일 시점에 담을 수 있는 크기를 벗어나면 에러를 발생시키는 컴파일 에러가 발생한다. [참조형 타입(Reference type)] - 기본형 타입을 제외한 타입들이 모두 참조형 타입(Reference type)이다. - 빈 객체를 의미하는 Null이 존재한다. - 값이 저장되어 있는 곳의 주소 값을 저장하는 공간으로 힙(Heap)메모리에 저장된다. - 문법상으로는 에러가 없지만 실행시켰을 때 에러가 나는 런타임 에러가 발생한다. 예를 들어 객체..
[Garbage Collection(GC) 란?] 프로그램을 개발하다 보면 유효하지 않은 메모리인 가비지(Garbage)가 발생하게 된다. C언어를 이용하면 free()라는 함수를 통해 직접 메모리를 해제해 주어야 한다. 하지만 Java나 Kotlin을 이용해 개발을 하다 보면 개발자가 메모리를 직접 해제해주는 일이 없다. 그 이유는 JVM의 가비지 컬렉터가 불필요한 메모리를 알아서 정리해주기 때문이다. 대신 Java에서 명시적으로 불필요한 데이터를 표현하기 위해서 일반적으로 null을 선언해준다. 예를 들어 아래와 같은 코드가 있다고 가정하자 Person person = new Person(); person.setName("Mang"); person = null; // 가비지 발생 person = ne..

[자바 컴파일러(Java compiler)] - 자바 컴파일러(javac)는 자바를 가지고 작성한 자바 소스 코드(.java)를 자바 가상머신(JVM)이 이해할 수 있는 자바 바이트 코드(.class)로 변환한다. - 자바 컴파일러는 자바를 설치하면 javac.exe라는 실행 파일 형태로 설치 된다. [자바의 동작 과정] 1. Compile: '.java' 확장자가 붙은 소스코드를 class 확장자가 붙은 실행 파일로 변환 2. Run: class 확장자가 붙은 파일을 'java'로 실행 [javac] 'javac' 를 통해서 컴파일을 한다. 터미널에 'javac'를 입력하면 사용법을 볼 수 있다. (1) javac가 있는 위치 Windows - C:\Program Files\Java\jdk-x.x.x\..
- Total
- Today
- Yesterday
- https
- 완전탐색
- 리스트
- 리스트함축
- 자바
- 데이터베이스
- It
- 리스트 복사
- 코드업 기초
- Greedy sort
- CS.
- 운영체제
- 네트워크
- 이진탐색
- 리스트2
- CS 스터디
- 보험
- 파이썬
- 연결리스트활용
- 프로그래머스
- CS
- SW
- 프로그래머스강의
- 이차 리스트
- 자료구조
- 프로세스 주소공간
- 알고리즘
- 스터디
- 자료구조와알고리즘 23강
- 정렬
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |