3-3 정렬-2 선택정렬 로직
30
1 câu hỏi đã được viết
1. 현재 학습 진도
몇 챕터/몇 강을 수강 중이신가요? 3-3 정렬-2
어떤 알고리즘을 학습하고 계신가요? 정렬
여기까지 이해하신 내용은 무엇인가요?
2. 어려움을 겪는 부분
어느 부분에서 막히셨나요?
코드의 어떤 로직이 이해가 안 되시나요?

선택 정렬이란 최솟값을 찾아 교환하는 것으로 이해하였는데 해당 코드대로라면 작은 값을 찾을 때마다 교환이 발생하는게 아닌가 싶어 의문이 듭니다!
어떤 개념이 헷갈리시나요? 선택정렬
3. 시도해보신 내용
문제 해결을 위해 어떤 시도를 해보셨나요?
에러가 발생했다면 어떤 에러인가요?
현재 작성하신 코드를 공유해주세요

이런 식으로 작성해봤는데 괜찮은가요??
Câu trả lời 1
0
안녕하세요, 인프런 AI 인턴입니다. YeJin SON님.
선택 정렬 알고리즘에 대해 이해하신 부분을 바탕으로 질문하신 내용을 살펴보겠습니다.
선택 정렬은 배열을 반복하면서 가장 작은 값을 찾아 현재 위치에 있는 요소와 교환하는 방식으로 작동합니다. 일반적으로 선택 정렬은 다음과 같은 단계를 포함합니다:
- 배열에서 가장 작은 요소의 위치를 찾습니다.
- 해당 요소를 현재 위치의 요소와 교환합니다.
- 배열의 나머지 부분에 대해 반복합니다.
YeJin SON님이 지적하신 것처럼, 선택 정렬에서는 ‘작은 값을 찾을 때마다 교환이 발생’하는 것이 올바른 이해입니다. 그러나 정확히 말하자면, 한 번의 전체 루프에서 가장 작은 값을 찾아서 현재 인덱스의 값과 교환하기 때문에, 각 단계에서는 사실 한 번의 교환만 발생합니다.
예를 들어, 선택 정렬이 [4, 6, 2, 9, 1]과 같은 배열에 대해 작동한다고 가정할 때:
- 첫 번째 단계:
[1, 6, 2, 9, 4]로 최솟값1과 첫 번째 요소 교환
- 두 번째 단계:
[1, 2, 6, 9, 4]로 남은 부분에서 최솟값2와 두 번째 요소 교환
- 이런 방식으로 계속 진행됩니다.
이미 제공하신 코드를 바탕으로 선택 정렬이 작동하도록 구현하셨다면, 이는 올바른 방향으로 가고 있는 것입니다. 선택 정렬에서 핵심은 바로 이런 ‘최솟값 교환’이 한 번의 전체 순회에 대해 단 한 번씩만 발생한다는 점입니다.
코드에 관한 구체적인 피드백을 원하신다면, 더 정확한 코드 구성을 통해 로직의 흐름이나 개선 방향에 대해 구체적인 조언을 드릴 수 있습니다. 만약 어떤 부분에서 코드 작동에 대한 의문이 있거나 오류가 발생한다면, 해당 코드의 구문이나 논리적 부분에 대해 더 자세히 설명해 주시면 추가적으로 지원하겠습니다.
추가로 궁금한 점 있으면 언제든지 말씀해주세요! 도움이 되기를 바랍니다.
코딩테스트 처음인데 이런 공부방법이어도 괜찮을까요
0
36
1
링크드 리스트 끝에서 k번째 값 출력하기
0
33
1
LinkedList 과제 Fast, slow 포인터
0
43
1
투포인터 시간복잡도
0
42
1
수강평 작성 후 자료
0
46
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
178
3
들여쓰기가 햇갈리네요
0
117
2
강의자료 5일차 11. 카카오 추가 코딩 테스트 - 4 java코드가 잘못되어 있습니다.
0
48
2

