inflearn logo
강의

Course

Instructor

The secret to passing 38 companies: Essential algorithms for the 2025 coding test

3-3. Sorting - 2

3-3 정렬-2 선택정렬 로직

30

YeJin SON

1 asked

0

1. 현재 학습 진도

 

2. 어려움을 겪는 부분

 

3. 시도해보신 내용

image.png

 이런 식으로 작성해봤는데 괜찮은가요??

python 코딩-테스트 알고리즘 data-structure

Answer 1

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. YeJin SON님.

선택 정렬 알고리즘에 대해 이해하신 부분을 바탕으로 질문하신 내용을 살펴보겠습니다.

선택 정렬은 배열을 반복하면서 가장 작은 값을 찾아 현재 위치에 있는 요소와 교환하는 방식으로 작동합니다. 일반적으로 선택 정렬은 다음과 같은 단계를 포함합니다:

  1. 배열에서 가장 작은 요소의 위치를 찾습니다.
  2. 해당 요소를 현재 위치의 요소와 교환합니다.
  3. 배열의 나머지 부분에 대해 반복합니다.

YeJin SON님이 지적하신 것처럼, 선택 정렬에서는 ‘작은 값을 찾을 때마다 교환이 발생’하는 것이 올바른 이해입니다. 그러나 정확히 말하자면, 한 번의 전체 루프에서 가장 작은 값을 찾아서 현재 인덱스의 값과 교환하기 때문에, 각 단계에서는 사실 한 번의 교환만 발생합니다.

예를 들어, 선택 정렬이 [4, 6, 2, 9, 1]과 같은 배열에 대해 작동한다고 가정할 때:

  • 첫 번째 단계: [1, 6, 2, 9, 4]로 최솟값 1과 첫 번째 요소 교환
  • 두 번째 단계: [1, 2, 6, 9, 4]로 남은 부분에서 최솟값 2와 두 번째 요소 교환
  • 이런 방식으로 계속 진행됩니다.

이미 제공하신 코드를 바탕으로 선택 정렬이 작동하도록 구현하셨다면, 이는 올바른 방향으로 가고 있는 것입니다. 선택 정렬에서 핵심은 바로 이런 ‘최솟값 교환’이 한 번의 전체 순회에 대해 단 한 번씩만 발생한다는 점입니다.

코드에 관한 구체적인 피드백을 원하신다면, 더 정확한 코드 구성을 통해 로직의 흐름이나 개선 방향에 대해 구체적인 조언을 드릴 수 있습니다. 만약 어떤 부분에서 코드 작동에 대한 의문이 있거나 오류가 발생한다면, 해당 코드의 구문이나 논리적 부분에 대해 더 자세히 설명해 주시면 추가적으로 지원하겠습니다.

추가로 궁금한 점 있으면 언제든지 말씀해주세요! 도움이 되기를 바랍니다.

이미지와 더 많은 정보는 여기여기를 통해 확인하실 수 있습니다.

코딩테스트 처음인데 이런 공부방법이어도 괜찮을까요

0

35

1

링크드 리스트 끝에서 k번째 값 출력하기

0

33

1

LinkedList 과제 Fast, slow 포인터

0

43

1

투포인터 시간복잡도

0

42

1

수강평 작성 후 자료

0

45

2

수업교재 링크 오류

2

103

2

프로그래머스에서 제출 후 채점시 틀림ㅠ

0

119

2

1-10 알고리즘 더 풀어보기(2) 질문 있습니다

0

66

2

문제 풀이 방식 관련 질문입니다!

0

80

2

1-5 알고리즘과 친해지기 (2) - 최빈값찾기 질문 있습니다

0

82

2

수업자료 pdf 받고싶습니다

0

98

2

강의 자료 오류 수정

0

67

1

2-10 더하거나 빼거나 관련 질문입니다

0

58

2

3-8 해쉬 -2

0

45

2

Linked List Element Delete Explanation Problem

0

61

2

강의3-4 스택 탑 문제

0

73

2

코드스니펫 입출력 케이스에 오류가 있는것 같아요

0

93

3

링크드 리스트 원소 찾기 구현 방식 질문드립니다.

0

71

2

1874 - 스택 문항

0

77

2

DP Java 예제 자료형 오버플로우 문제

0

95

2

4-9 4주차 숙제중 농심라면 문제

0

103

2

DFS 에서 스택을 사용하는 이유

1

177

3

들여쓰기가 햇갈리네요

0

117

2

강의자료 5일차 11. 카카오 추가 코딩 테스트 - 4 java코드가 잘못되어 있습니다.

0

48

2