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

[Softeer] Lv1: 연탄 배달의 시작(7626) 해설

by cogito21_cpp 2025. 1. 11.
반응형

문제

- 문제 링크: 연탄 배달의 시작

 

풀이

(C언어)

solution 1)

- 시간 복잡도: 

더보기
#include <stdio.h>


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

    int min_diff = 1000000;
    int cnt = 0;
    for (int i = 1; i < n; ++i) {
        if (arr[i] - arr[i-1] < min_diff) {
            min_diff = arr[i] - arr[i-1];
            cnt = 1;
        }
        else if (arr[i] - arr[i-1] == min_diff) {
            cnt++;
        }
    }

    printf("%d", cnt);
 
    return 0;
}

 

(C++)

solution 1)

- 시간 복잡도: 

더보기
#include<iostream>


using namespace std;

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

    int min_diff = 1000000;
    int cnt = 0;
    for (int i = 1; i < n; ++i) {
        if (arr[i] - arr[i-1] < min_diff) {
            min_diff = arr[i] - arr[i-1];
            cnt = 1;
        }
        else if (arr[i] - arr[i-1] == min_diff) {
            cnt++;
        }
    }

    cout << cnt;
   return 0;
}

 

(Java)

solution 1)

- 시간 복잡도: 

더보기
import java.util.*

 

(Python)

solution 1)

- 시간 복잡도: 

더보기
import sys

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

min_diff = 1000000
cnt = 0
for i in range(1, len(arr)):
    if (arr[i] - arr[i-1] < min_diff):
        min_diff = arr[i] - arr[i-1]
        cnt = 1
    elif (arr[i] - arr[i-1] == min_diff):
        cnt += 1
       
print(cnt)

 

(JavaScript)

solution 1)

- 시간 복잡도: 

더보기
import

 

반응형