1차원의 점들이 주어졌을 때, 그 중 가장 거리가 짧은 것의 쌍을 출력하는 함수를 작성하시오.(단 점들의 배열은 모두 정렬되어있다고 가정한다.)
S = {1, 3, 4, 8, 13, 17, 20}이 주어졌다면 결과값은 (3, 4)가 될 것이다.
가장 거리가 짧다란 이야기는 두 점의 뺀 값이 최소값이란 이야기 일 것이다.
그렇담...
- 1. 두개의 반복문을 이용하여 각각의 점들간의 거리차를 구한다.
- 2. 값을 저장 하였다가 새로운 값이 그 값보다 작으면 대체한다.
- 3. ... 고민좀 해보자...
objective-C
#import <Cocoa/Cocoa.h>
int main(int argc, const char * argv[]) {
int S[7]={1, 3, 4, 8, 13, 17, 20}, temp_result, i, j, result, result_i, result_j;
result = 1000;
for (i = 0; i <= 5; i = i + 1) {
for (j = i + 1; j <= 6 ; j = j + 1) {
temp_result = abs(S[i] - S[j]);
if (result > temp_result) {
result = temp_result;
result_i = S[i];
result_j = S[j];
}
}
}
printf("가장 거리가 짧은 점들은 (%d, %d)", result_i, result_j);
return NSApplicationMain(argc, argv);
}
가장 거리가 짧은 점들은 (3, 4)
흐~ㅁ 근데 문제는 문제를 해결할 함수를 만들어라~인데 걍 풀어버렸네... 쩝...
모 회사는... ㅎㄷㄷ