정렬

· DB
디스크 I/O 줄이기 데이터베이스에서 데이터를 읽는 시간의 대부분은 디스크 헤더를 움직여서 읽고 쓸 위치로 옮기는 단계에서 비롯된다. 때문에 데이터베이스 쿼리 튜닝은 I/O를 줄이는 것이 주 목적이 된다. I/O를 줄이기 위해 개발자가 할 수 있는 일들은 다양하다. 가능하다면 clusterd 인덱스를 사용한다. clusterd 인덱스는 정렬의 대안으로 사용 될 수 있다. 단, unclusterd 인덱스는 경우에 따라 정렬보다 코스트 비쌀 수 있으므로 사용시 유의해야한다. 정렬을 포함하는 쿼리 사용을 지양하기 distinct를 사용하는 경우, 쿼리 실행시마다 정렬이 수행되기 때문에 성능이 매우 저하된다. 그 외에도 많은 쿼리들(group by, union 등)이 수행과정에서 정렬을 포함한다. 서브쿼리를 조..
문제 코딩테스트 연습 - 가장 큰 수 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 programmers.co.kr 리뷰 예전에 한 번 풀어봤던 문제인데, 파이썬 공부 하다가 흥미로운 풀이 법을 발견해서 C++로도 한번 구현해봤다. 간단히 요약하자면 1. 각 숫자를 문자열로 바꾼다. 2. 바꾼 문자열을 세번 반복해서 벡터에 저장한다. 3. 벡터를 오름차순으로 정렬한다. 왜 하필 세 번 반복하나? 두번만 반복해도 프로그래머스에서 기본 제공하는 테스트 케이스는 통과한다. 하지만 채점에서는 빨간불이 막뜨는데 이유..
가을맛
'정렬' 태그의 글 목록