일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- GROUP BY 절
- 개념
- 명품 자바 프로그래밍
- 기초
- SELECT 절
- 기초100제
- BOJ
- 헤드퍼스트 디자인패턴
- 응용
- 파이썬
- baekjoon
- 공공데이터
- 코딩테스트
- programmers
- Python 3
- Python
- 자바
- Codeup
- level1
- SQLD / SQLP
- 이론
- HAVING 절
- Codeforces Round #802 (Div. 2)
- 백준
- 기본
- JAVA 11
- pypy3
- Java11
- 단계별로 풀어보기
- java
- Today
- Total
목록CodingTest/Algorithm (2)
Development Project

혹시나 이미 정렬 알고리즘에 대해 공부해본적 있는 사람이라면 이 게시물을 읽기전에 자신이 알고있는 정렬 알고리즘 이름과 코드를 생각해보도록 하자. 몇개가 생각나는가? 최근에 알고리즘 공부를 한 사람이면 모든 알고리즘을 어떤 도움없이 코드를 작성할 수 있고 그에 따른 효율성도 구분할 수 있는 사람도 있을 것이다. 하지만, 전공자 4학년인 필자의 경우도, 오랜만에 다시 공부 겸 되짚어 생각해보니 선택, 삽입, 버블, 퀵 정렬 이렇게 4개를 기억했지만 코드로 바로바로 적을 수 있는 수준은 아니었다. 예상하기로는 아마 다들 3~5가지 정도 말할 수 있을거라 생각한다. 왜일까? 우리는 너무나도 당연하게 알고리즘을 공부하는 이유는 효율성 때문이라는 것을 안다. 더 가독성이 좋고, 더 짧고, 더 빠르게 작동하고, 더..
알고리즘이란? 입력 : 0개 이상의 입력이 존재해야하고, 출력 : 1개 이상의 출력이 존재해야 한다. 명백성 : 각 명령어의 의미는 모호하지 않고 명확해야 하며, 유한성 : 한정된 수의 단계 후에는 반드시 종료되어야 하고, 유효성 : 각 명령어들은 실행 가능한 연산이어야 한다. 알고리즘의 표현방법은? 자연어 (한국어, 영어 ... ) : 변수를 명백히 정의해야 혼동없이 구상할 수 있다. FlowChart (흐름도) : 시각적으로 흐름이 명백히 보여 좋은 방법이지만, 알고리즘이 복잡할수록 기술이 힘들다. 유사코드 : 자연어와 컴퓨터언어 사이쯤의 체계적인 언어로, 흔히 알고리즘을 기술하는데 선호되는 표기법이다 컴퓨터 언어 알고리즘의 성능 분석 방법 시간복잡도 : 알고리즘 수행시간 시간을 측정하는 코드로 확인..