인프런 커뮤니티 질문&답변

강아지호빵찐빵님의 프로필 이미지
강아지호빵찐빵

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문

연습 문제

sort 관련 질문있습니다.

해결된 질문

작성

·

231

0

마지막에 scores[i] 와 scores[minIndex]의 값을 바꿔주는 이유는 무엇인가요?

굳이 바꾸지 않고 그냥 scores[i] = scores[minIndex]; 로 socres[i]에 값만 넣어주고 scores[minIndex]는 없어져도 상관 없는 것 아닌가요?

답변 2

0

서로의 값을 바꿔주지 않으면 배열 내에 scores[i]의 값이 2개가 남게 됩니다. 

예를 들어,

2 1 3 4 5 에서

scores[i]는 2고 scores[minIndex]는 1이 되는데

최소값을 앞으로 정렬해주고 싶은 것이므로

2 2 3 4 5가 되지 않고

1 2 3 4 5 가 되려면 scores[minIndex]에는 원래 scores[i]에 있던 값을 넣어줘야 합니다.

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자

그렇게 되면 기존에 있던 값을 하나 유실하게 됩니다. 예를 들어
7 1 2 4  을 정렬할 때 i = 0이라면
1 7 2 4 이렇게 뒤바꿔줘야 하는데
scores[0]에 값만 넣어주면 1 1 2 4 가 됩니다.

강아지호빵찐빵님의 프로필 이미지
강아지호빵찐빵

작성한 질문수

질문하기