본문 바로가기
책/Do it! 알고리즘 코딩 테스트 자바 편

Day-5 선택 정렬

by 댈팽이 2024. 3. 23.
728x90

1. 선택 정렬

  • 대상에서 가장 크거나 작은 데이터를 찾아가 선택을 반복하면서 정렬하는 방식이다.
  • 구현이 복잡하다.
  • 시간 복잡도가 O(n²)으로 느리다.
  • 최솟값 또는 최댓값을 찾고, 가장 앞에 있는 데이터와 swap하여 정렬한다.

2. 선택 정렬 과정

 

  1. 남은 정렬 부분에서 최솟값 또는 최댓값 찾기 (min = 1)
  2. 남은 정렬 부분에서 가장 앞에 있는 데이터와 찾은 데이터를 swap (1, 3 swap)
  3. 가장 앞에 있는 데이터의 위치를 변경하여 남은 정렬 부분 범위를 축소 (i++)
  4. 남은 정렬 부분이 없을 때까지 반복

3. 예제 문제

 

[1427] 소트인사이드 (JAVA)

# 문제 설명 배열을 정렬하는 것은 쉽다. 수가 주어지면, 그 수의 각 자리수를 내림차순으로 정렬해보자. 입력 첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연

spicyrisotto.tistory.com


 

[23881] 알고리즘 수업 - 선택 정렬 1 (JAVA)

# 문제 설명 오늘도 서준이는 선택 정렬 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자. N개의 서로 다른 양의 정수가 저장된 배열 A가 있다.

spicyrisotto.tistory.com

728x90

' > Do it! 알고리즘 코딩 테스트 자바 편' 카테고리의 다른 글

Day-6 퀵 정렬  (0) 2024.03.27
Day-6 삽입 정렬  (0) 2024.03.26
Day-5 버블 정렬  (0) 2024.03.22
Day-4 스택과 큐  (0) 2024.03.21
Day-3 슬라이딩 윈도우  (1) 2024.03.17