'어서와! 자료구조와 알고리즘은 처음이지?' 월요일에 연차 내고 여유롭게 연남동 카페에서 커피 랑 도넛 먹으면서 보내니까 행복하다 💕 정렬(sort)이란 복수의 원소로 주어진 데이터를 정해진 기준에 따라 새로 늘어놓는 작업이다. Python의 리스트(List)를 이용한다면, 직접 정렬 알고리즘을 구현할 필요 없이 리스트에 내장된 정렬 함수를 이용하여 리스트 원소들을 정렬할 수 있다. 함수(function) vs 메서드(method) 1. 함수(function) 함수명() ✔ 함수 이름을 통해 함수를 사용할 수 있다. ✔ 예) print(), type(), str(), int(), bool() ✔ 함수의 값을 변수에 대입할 수 있다. 예) res = function_example(value) 2. 메서드(..
선형 배열 배열이란 원소들을 순서대로 늘어놓은 것을 말한다. arr = [1,2,3,4,5] # index --> 0부터 시작 0,1,2,3,4 파이썬에서는 선형 배열로 리스트를 사용하는데 가장 큰 특징은 리스트 원소들의 데이터 타입이 각각 달라도 상관없다는 것이다. example_list = ['bob',1,3,True] # 결과 ['bob', 1, 3, True] 리스트(배열)의 연산 example_list = ['bob',1,3,True] 1. example_list.append(5) example_list.append(5) # 결과 ['bob', 1, 3, True, 5] 2. example_list.pop() example_list.pop() # 결과 ['bob', 1, 3, True] ✔ ap..

애노테이션(@, Annotation)이란? 사전적 의미로는 주석을 의미하며, 프로그램에 대한 데이터를 제공하는 메타데이터의 한 종류이다. 소스코드에 대한 문서를 따로 만들기 보다는 소스 코드와 문서를 하나의 파일로 관리하는 것이 더 낫다고 생각했다고 한다. 그래서 개발 시 설명이 필요한 부분의 경우 /**~*/ 안에 해당 로직에 대한 설명을 달고 이러한 주석으로 부터 HTML 문서를 생성하는 프로그램(javadoc.exe)을 만들고 사용했었다. 이 기능을 응용하여 프로그램 소스코드 안에 다른 프로그램을 위한 정보를 미리 약속된 형식으로 포함시킨 것이 애노테이션이라고 한다. 예를들어, 자신이 작성한 소스코드 중에서 특정 메서드만 테스트하기를 원한다면, 다음과 같이 '@Test'라는 애너테이션을 메서드 앞에..

열거형(enums)란? 열거형 이란 서로 관련된 상수를 편리하게 선언하기 위한 것으로 여러 상수를 정의할 때 사용하면 유용하다. 원래 자바는 C 언어와 달리 열거형이라는 것이 존재하지 않았으나 JDK1.5부터 새로 추가되었다. 자바의 열거형은 C 언어의 열거형 보다 더 향상된 것으로 열거형이 갖는 값 뿐만 아니라 타입도 관리하기 때문에 보다 논리적인 오류를 줄일 수 있다. class Card{ static final int CLOBER = 0; static final int HEART = 1; static final int DIAMOND = 2; static final int SPADE = 3; static final int TWO =0; static final int THREE = 1; static f..

프로세스(Process)와 쓰레드(Thread) 프로세스란 '실행중인 프로그램(Program)'이다. 프로그램을 실행하면 OS로 부터 실행에 필요한 자원(메모리)을 할당받아 프로세스가 된다. 프로세스는 프로그램을 수행하는데 필요한 데이터와 메모리 등의 자원 그리고 쓰레드로 구성되어 있으며 프로세스의 자원을 이용해서 실제로 작업을 수행하는 것이 바로 쓰레드이다. 모든 프로세스에는 최소한 하나 이상의 쓰레드가 존재하며, 둘 이상의 쓰레드를 가진 프로세스를 '멀티쓰레드 프로세스(Multi-threaded process)' 라고 한다. 쓰레드(Thread) 구현과 실행 쓰레드를 생성하는 방법은 크게 두가지가 있다. Thread 클래스를 사용 Runnable 인터페이스를 사용 Runnable 과 Thread 모두..

예외 클래스의 구조 Throwable 클래스를 상속받는 클래스는 Error와 Exception 이 있는데 모든 예외의 최고 조상 클래스는 당연히 Exception 이다. java.lang.Throwable class가 Java Exception의 Root Class이다. Throwable 클래스에 선언되어 있고, Exception 클래스에서 오버라이딩한 메소드는 10개가 넘으며, 가장 많이 사용되는 메서드는 다음과 같다. getMessage() 예외 메시지를 string 형태로 제공받는다. 예외가 출력되었을때 어떤 예외가 발생되었는지 확인할 때 매우 유용하다. 메시지를 활용하여 별도의 예외 메세지를 사용자에게 보여주려고 할 때 좋다. toString() 예외 메세지를 String 형태로 제공 받는다. g..

예외(Exception) 이란? 컴퓨터 하드웨어의 오동작 또는 고장으로 인해 응용프로그램 실행 오류가 발생하는 것을 자바에서는 에러(Error)라고 한다. 에러는 JVM 실행에 문제가 생겼다는 것이므로, 프로그램은 실행 불능이 된다. 프로그래머는 이러한 에러에 대처할 방법이 없다. 예외(Exception)이란 사용자의 잘못된 조작 또는 개발자의 잘못된 코딩으로 인하여 발생하는 오류이다. 예외가 발생하면 프로그램이 종료된다는 점은 에러와 동일하나, 예외처리(Exception Handling)을 통해 프로그램을 종료하지 않고 정상 실행상태를 유지할 수 있다. 예외(Exception) 예시 존재하지 않는 파일을 열려고 시도하는 경우 FileNotFoundException 예외가 발생한다. BufferedRea..
인터페이스(Interface) 인터페이스는 일종의 추상 클래스이다. 인터페이스는 추상 클래스처럼 추상 메서드를 갖지만 추상 클래스보다 추상화 정도가 높아서 추상클래스와 달리 몸통을 갖춘 일반 메서드 또는 멤버변수를 구성원으로 가질 수 없다. 오직 추상 메서드와 상수만을 멤버로 가질 수 있다. 추상 클래스를 부분적으로만 완성된 '미완성 설계도' 라고 한다면, 인터페이스는 구현된 것은 아무것도 없고 밑그림만 그려져 있는 '기본 설계도' 이다. 인터페이스 정의 interface 인터페이스 이름 { public static final 타입 상수 이름 = 값; public abstract 메서드 이름(매개변수 목록); } inteface 키워드 사용 interface에도 클래스와 같이 접근 제어자로 public ..
- Total
- Today
- Yesterday
- 프로세스 주소공간
- Greedy sort
- 리스트 복사
- 자료구조와알고리즘 23강
- 자바
- 이진탐색
- 리스트함축
- 스터디
- CS 스터디
- 자료구조
- https
- It
- CS
- 프로그래머스강의
- 정렬
- CS.
- 리스트
- 운영체제
- 파이썬
- 이차 리스트
- 완전탐색
- 보험
- SW
- 프로그래머스
- 연결리스트활용
- 데이터베이스
- 알고리즘
- 리스트2
- 네트워크
- 코드업 기초
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |