C_C++

(C언어) 배열에서 3번째 큰 값 구하기 (정렬을 사용하지 않고)

고니자니 2023. 5. 26. 20:50
반응형

배열에서 정렬을 사용하지 않고 3번째로 큰 값을 구하는 C언어 코드입니다.

#include <stdio.h>

int findThirdLargest(int arr[], int size) 
{
    int first = arr[0];  // 가장 큰 값
    int second = arr[0]; // 두 번째로 큰 값
    int third = arr[0];  // 세 번째로 큰 값

    for (int i = 1; i < size; i++) 
    {
        if (arr[i] > first) 
        {
            third = second;
            second = first;
            first = arr[i];
        }
        else if (arr[i] > second) 
        {
            third = second;
            second = arr[i];
        }
        else if (arr[i] > third) 
        {
            third = arr[i];
        }
    }

    return third;
}

int main() 
{
    int arr[] = { 5, 2, 9, 1, 7, 6 };
    int size = sizeof(arr) / sizeof(arr[0]);

    int thirdLargest = findThirdLargest(arr, size);
    printf("3번째로 큰 값: %d\n", thirdLargest);

    return 0;
}

int main() {
    int arr[] = { 5, 2, 9, 1, 7, 6 };
    int size = sizeof(arr) / sizeof(arr[0]);

    int thirdLargest = findThirdLargest(arr, size);

    printf("3번째로 큰 값: %d\n", thirdLargest);

    return 0;
}

3번째로 큰 값

반응형