C++

[코드트리 조별과제] 두 숫자의 차의 최솟값

Parkjung2016 2024. 8. 5. 15:47

코드트리 조별과제로 두 숫자의 차의 최솟값이라는 문제를 풀었다.

https://www.codetree.ai/missions/4/problems/minimum-difference-between-two-numbers/description

 

코드트리 | 코딩테스트 준비를 위한 알고리즘 정석

국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.

www.codetree.ai

 

n개의 숫자가 오름차순으로 주어지고, 이 중 서로다른 두 개의 숫자를 골랐을 때, 두 숫자의 차가 최소가 되는 경우의 그 차이를 출력하면 되는 문제이다.

어떤 경우에서도 n개의 숫자가 오름차순으로 주어지므로 for문을 이용하면 되지 않을까라는 생각을 하게 되어for문을 이용해 문제를 풀었다.

#include <iostream>
using namespace std;

int main() {
    int length;
    cin>> length;
    int min =99;
    int arr[11];

    for(int i =0;i  <length;i++)
    {
    	int a;
   	cin>>a;
   	arr[i] = a;

    }

    for(int i=0; i<length-1;i++)
    {
        int result= arr[i+1]-arr[i];
        if(result< min)
        {
             min= result;
        }
    }
    cout<<min;
    return 0;
}

최솟값을 구해야하므로 min변수를 99로 정하고, 길이의 -1만큼 for문을 돌려서 arr[i+1]-arr[i]를 더한 값이 min값보다 작으면 min을 더한값으로 넣으면 두 숫자의 차의 최솟값이 정해진다.