목차 Divide and Conquer 분할 정복 알고리즘은 큰 문제를 작은 문제로 나누어(분할) 해결(정복)하는 알고리즘이다. 조금 더 구체적으로 적자면 분할(Divide): 복잡한 문제를 더 작고 관리하기 쉬운 부분 문제로 분해하여 정복(Conquer): 이 부분 문제들을 해결한 후 결합(Combine): 이들의 해결 결과를 결합하여 원래 문제의 해답을 찾는다. 예를 들자면 정렬 알고리즘 중 병합정렬과 퀵 정렬이 이에 해당하는데, 각 구현방식은 아래 글에 설명되어 있다. [Java+Python]병합 정렬(Merge Sort) [Java+Python]병합 정렬(Merge Sort) 으로 구현한 다른 정렬: [Java+Python]삽입 정렬(Insert Sort) [Java+Python]버블 정렬(Bub..
문제 N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. 출력 첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. 풀이 자바 7 이후의 스트림 sorted() 메서드는 다음과 같이 동작한다. 기본형 자료타입 - 병합 정렬(Merge sort - O(N logN) + 안정 정렬) 그 외 - 팀 정렬(Tim Sort - 병합, 삽입 정렬 하이브리드 + 불안정 정렬) 정렬에 관해서는 따로 글을 파고 있으니까 넘어가고, 여기서 하고 싶은 말은 (당연하게도)성능이 굉장히 빠..
- Total
- Today
- Yesterday
- 파이썬
- 중남미
- 맛집
- java
- 유럽
- Backjoon
- 리스트
- 스트림
- 백준
- 세계일주
- a6000
- spring
- 세계여행
- 세모
- 기술면접
- RX100M5
- Algorithm
- 칼이사
- 야경
- 스프링
- 면접 준비
- 지지
- 남미
- 유럽여행
- BOJ
- Python
- 자바
- 동적계획법
- 알고리즘
- 여행
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |