inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

연습 문제

Sort 연습문제 질문이 있어요

358

룰루랄라코딩생활

작성한 질문수 9

0

// 값 순서대로 정렬하기

static void Sort(int[] scores)

{

for (int i =0; i < scores.Length; i++)

{

//제일 작은 수 찾기 -> 제일 작은 숫자가 있는 index 찾기

int minIndex = i;

for (int j= i; j <scores.Length; j++)

{

if (scores[j] < scores[minIndex])

minIndex = j;

}

// 자리바꾸기 (swap)

int temp = scores[i]; // 값을 덮어씌우면 날라가기 떄문에 임시로 저장 해둔다

scores[i] = scores[minIndex];

scores[minIndex] = temp; // 임시로 저장해둔 값을 다시 minIndex에 옮긴다

}

}

 

여기서 특히 이부분이 이해가 안되고 있어요

for (int j= i; j <scores.Length; j++)

{

if (scores[j] < scores[minIndex])

minIndex = j;

}

첫번째 루프때 int i = 0이 되고
for 문에서 j=i라고 해서 j도 0이 됩니다

그런다음에 if (scores[j] < scores[minIndex]) 여기에 따라서

 

scores[0] < scores[0] 이렇게 되는거 아닌가요??
둘다 첫번째 루프고 minIndex도 i의 값을 따르니깐요...

 

minIndex = j 로 넘어 갈수 없다고 생각하고 있습니다..

C#

답변 1

0

Rookiss

네 그럴 경우 0은 스킵됩니다.
하지만 그 다음턴에는 0+1 즉 1로 연산하니 승자가 나올 수 있겠죠.
사실 그 이유로 i = j+1부터 시작하는게 조금 더 낫습니다.

Generic에 대한 질문 있습니다.

0

94

2

2022 버전에 커뮤니티 버전이 없는데 2026 버전으로 해도 무관?

0

200

2

다형성 캐시 문제

0

111

3

.

0

70

1

프로퍼티 강의 질문 있습니다.

0

77

1

이후 커리 질문

0

85

1

static

0

90

2

강의에는 새로운 클래스 파일을 생성하면...

0

72

1

생성자의 이름 선언

0

64

1

9:03 Divide(10 , 3) 부분 질문입니다

0

87

1

깃허브 관련 질문 있습니다.

0

238

1

비쥬얼 스튜디오 업데이트가 된건가요..? 매개변수 오류 관련 질문

0

249

1

C# 시리즈 || C++ 시리즈 자료구조 강의에 대한 질문입니다!

0

305

2

Activator 질문있습니다

0

331

1

이넘 타임 선언 질문

0

344

1

Sort 오름차순, 내림차순

0

323

1

질문 있습니다.

0

248

1

팩토리얼 문제

0

270

1

Sort함수 질문있습니다.

0

264

1

다형성 함수 질문 있습니다.

0

221

1

질문이 있습니다.

0

225

1

섹션2 연습문제 질문입니다.

0

213

1

안녕하세요~서버에 대해 질문이 있습니다.

1

281

1

텍스트 색깔이 제 편집기와 달라서 수강에 어려움이 있습니다ㅜㅜ

0

393

1