[C++] 선택정렬(Selected Sort)
간단하게 말해서, 선택 정렬은 입력된 값 중 원소를 선택하여 정렬하는 방식이다. ...더보기 이해 (원소1), (원소 2), 원소 3, 원소 4, 원소 5 (원소 1), 원소 2, (원소 3), 원소 4, 원소 5 ...... (원소 1), 원소 2, 원소 3, 원소 4, (원소 5) 까지 비교하여 원소 1에 최소 값이 들어갔으므로(오름차순이라면) 이제는 index 1부터 정렬을 시작하여 원소 1, (원소 2), (원소 3), 원소 4, 원소 5 ... 원소 1, (원소 2), 원소 3, 원소 4, (원소 5) 까지 비교하는 하는 방식이다. 최종적으로는 원소 1, 원소 2, 원소 3, (원소 4), (원소 5) 를 비교하게 된다. #include using namespace std; int main(){..
2019. 4. 1.
[백준 1074] Z
분할정복 문제이다. "Z" 방향으로 탐색을 하면서, 주어진 좌표가 몇 번째에 탐색이 되는지 출력하는 문제이다. 0 1 2 3 이라고 하면, 0 -> 1 -> 2 -> 3 순으로 탐색이 되며, 분할 탐색을 해가면서 각 좌표마다 입력 값과 비교하여, 결과를 출력한다. 출처 : https://www.acmicpc.net/problem/1074 문제 한수는 2차원 배열 (항상 2^N * 2^N 크기이다)을 Z모양으로 탐색하려고 한다. 예를 들어, 2*2배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양이다.만약, 2차원 배열의 크기가 2^N * 2^N라서 왼쪽 위에 있는 칸이 하나가 아니라면, 배열을 4등분 한 후에 (크기가 같은 2^(N-1)로) 재귀적으로 순서대로 방문한다..
2019. 3. 21.