본문 바로가기
1-4. 코딩테스트(현대자동차 Softeer)/Softeer(Lv1)

[Softeer] Lv1: 나무 심기(7353) 해설

by cogito21_cpp 2025. 1. 11.
반응형

문제

- 문제 링크: 나무 심기

 

풀이

(C언어)

solution 1)

- 시간 복잡도: 

더보기
#include <stdio.h>

void sort(int* arr, int size) {
    int tmp = 0;
    int a = 0;
    for (int i = 0; i < size-1; ++i) {
        tmp = i;
        for (int j = i; j < size; ++j) {
            if (arr[tmp] > arr[j]){
                tmp = j;
            }
        }
        a = arr[i];
        arr[i] = arr[tmp];
        arr[tmp] = a;
    }
    
    return ;
}

int main(void)
{
    int n;
    scanf("%d", &n);
    int arr[n];
    for (int i = 0; i < n; ++i) {
        scanf("%d", &arr[i]);
    }

    sort(arr, n);
    
    int a = arr[0] * arr[1];
    int b = arr[n-2] * arr[n-1];
    int max_val = a > b ? a : b;

    printf("%d", max_val);

    return 0;
}

 

(C++)

solution 1)

- 시간 복잡도: 

더보기
#include<iostream>
#include <algorithm>

using namespace std;

int main(int argc, char** argv)
{
    int n = 0;
    cin >> n;
    int arr[n] = {};
    for (int i = 0; i < n; ++i) {
        cin >> arr[i];
    }

    sort(arr, arr + n);
    
    int a = arr[0] * arr[1];
    int b = arr[n-2] * arr[n-1];
    int max_val = a > b ? a : b;

    cout << max_val;
    return 0;
}

 

(Java)

solution 1)

- 시간 복잡도: 

더보기
import java.util.*

 

(Python)

solution 1)

- 시간 복잡도: 

더보기
import sys

n = int(input())
arr = list(map(int, input().split()))
arr.sort()

a = arr[0] * arr[1]
b= arr[len(arr) - 2] * arr[len(arr) - 1]
max_val = a if a > b else b
print(max_val)

 

(JavaScript)

solution 1)

- 시간 복잡도: 

더보기
import

 

반응형