inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

홍정모의 따라하며 배우는 C언어

11.7 선택 정렬 문제 풀이

코드 관련 질문입니다.

해결된 질문

229

Go9

작성한 질문수 7

0

안녕하세요 교수님!
항상 좋은 강의와 피드백 감사드립니다.
본 강의에서 내주셨던 예제를 스스로 구현해봤는데요,
교수님 코드와는 조금 달라 관련해서 질문을 드리고자 합니다.

제가 짠 코드에선 swap 함수가 for문 내에 위치하고 있습니다.

이렇게 되면,
1) 반복 횟수만큼 swap 함수도 실행되니, 상대적으로 반복문을 덜 수행하게 되는 교수님 코드보다, 실행할 때 조금 더 느린 속도를 보일 거라 생각했습니다.
혹시 이러한 제 생각이 정확한가요?

2) 또한, 1) 이외에 제가 짠 코드에서, 더 좋은 코드로 가기 위해
고려해볼만 한 부분이 있다면, 조언 부탁드립니다. :)

void selectionSort(int arr[], int n)
{
	int i, j, min_idx;

	min_idx = 0;

	for (i = 0; i < n - 1; i++)
	{
		for (j = i + 1; j < n; j++)
		{
			if (arr[i] > arr[j]) {
				min_idx = j;
				swap(arr + i, arr + min_idx);
			}
		}
	}
}

c

답변 1

1

홍정모

다양한 방법으로 시도해보시는 것은 좋은 일입니다.

아쉽게도 코드를 직접 봐드리기는 어려운데, 이런 궁금증을 갖고 계시는 경우에는 몇 번 호출되는지 세보는 코드를 추가해서 확인하시는 방법, 디버거로 상황을 한 줄 한 줄 파악하는 방법 등이 있겠지요.

자료구조와 알고리즘 공부 시작하시면 computation complexity를 배우시게 되는데 그때 또 다른 사고방식을 터득하시게 될겁니다.

완전히 똑같이 따라해도 exe파일이 안만들어져서 실행이 안됩니다.

1

44

3

main 함수에서 왜 int만 선언이 되는걸까요

1

52

2

8비트 2진수 변환시 왜 1을 더해야하나요?

1

52

2

혹시 강의를 빠르게 수강하려면 어디서부터 듣는게 좋을까요?

1

46

1

프로토타입과 함수간의 인자 불일치

1

72

2

12.12 헤더 관련 질문

1

59

2

Visual Studio Community 2026 사용 문의

1

133

2

Q. 15:30, 부호가 있는 8비트 정수 질문

1

59

2

getchar(), putchar()

1

92

3

강의자리ㅛ

1

78

2

비주얼스튜디오코드로 공부해도 상관없나요?

1

112

2

소스파일안에 여러 파일

1

74

2

F5와 F7의 차이

1

75

2

c = TWO * (a+b); 에서 a와 b는?

1

58

2

; 세미콜론을 붙이는 기준에 문의

1

68

1

Step over 기능 문의

1

52

2

2.6 강의 따옴표 출력 규칙 문의

1

74

2

int main 함수 관련 오류 문의

1

67

2

13.4 words[0]

0

60

2

11.7 함수를 구현해 봤습니다.

1

62

2

11.6 직접 strcmp와 strncmp를 구현해 보았습니다.

1

64

2

11.6 my_strcat과 my_strncat을 구현해봤습니다.

1

53

2

11.6 fit_str함수를 구현해 봤습니다.

1

53

2

11.5 코드 구현

1

66

2