안녕하세요. 권우석입니다. 재미있는 질문을 주셨네요....^^
수검장 가셔서 혼돈하시면 안됩니다.ㅎㅎㅎ
먼저 2,4,3 을 내림차순 정렬해 보겠습니다.
''''변수 저장 점수(1) = 2 점수(2) = 4 점수(3) = 3
''''정렬 알고리즘 For i = 1 To 3 For j = i To 3 If 점수(i) < 점수(j) Then temp = 점수(i) 점수(i) = 점수(j) 점수(j) = temp End If Next j Next i
==> 순서를 따라가면...2와 자신의 수인2를 비교하겠죠..그래서 결과는
1) 2,4,3 그대로입니다. 두번째는 2와4를 작은냐를 판단하죠..작기 때문에 교환합니다.
2) 4,2,3 계속하면....
3) 4,2,3 (여기 4가 확정되죠...)
4) 4,2,3
5) 4,3,2
6) 4,3,2 (6번에 정렬이 끝났네요...)
그럼...이렇게 해 보죠...
''''변수 저장 점수(1) = 2 점수(2) = 4 점수(3) = 3
''''정렬 알고리즘 For i = 1 To 3 For j = 1 To 3 If 점수(i) > 점수(j) Then temp = 점수(i) 점수(i) = 점수(j) 점수(j) = temp End If Next j Next i
===> 결과는 같이 나옵니다.
순서를 따라가면...2와 자신의 수인2를 비교하겠죠..그래서 결과는
1) 2,4,3 그대로입니다. 두번째는 2가4보다 크냐를 판단하죠..작기 때문에 그대로 입니다.
2) 2,4,3 계속하면....
3) 2,4,3
4) 4,2,3
5) 4,2,3
6) 4,2,3
7) 4,2,3
8) 4,3,2
9) 4,3,2
====> 결과는 같으나...처리 단계가 3단계 늘었습니다...코딩의 효율성을 말씀드리고 싶습니다. 물론 실기 시험은 결과가 중요하므로 코디의 효율성은 중요하지 않습니다. 그러나...가급적이면...습관을 들이는 것이 좋습니다. for문의 수행 순서를 하나하나 따라가 보세요... |