본문으로 바로가기

[풀이 - Beautiful Triplets] : <Easy / 90.49%>

더보기
bool findValue(int d, const vector<int> arr)
{
    int count = arr.size();
    //
    for(int i = 0; i < count; ++i)
    {
        if(arr[i] == d)
            return true;
    }
    //
    return false;
}

int beautifulTriplets(int d, vector<int> arr)
{
    int result = 0;
    int count = arr.size();
    //
    for(int i = 0; i < count; ++i)
    {
        int d1 = arr[i] + d;
        int d2 = d1 + d;
        //
        if(findValue(d1, arr))
            if(findValue(d2, arr))
                ++result;
    }
    
    return result;
}

 

 


[풀이 - Minimum Distances] : <Easy / 93.63%>

더보기
int minimumDistances(vector<int> a)
{
    int minDist = INT_MAX;
    int count = a.size();
    //
    for(int i = 0; i < count; ++i)
    {
        for(int j = i + 1; j < count; ++j)
        {
            if(a[i] == a[j])
            {
                int d = j - i;
                if(d < minDist)
                    minDist = d;
            }
        }
    }
    //
    if(minDist == INT_MAX)
        return -1;
    else
        return minDist;
}

 

 


[풀이 - Halloween Sale] : <Easy / 89.22%>

더보기
int howManyGames(int p, int d, int m, int s)
{
    int result = 0;
    // until can buy at price
    while(s - p >= 0)
    {
        // pay price from wallet
        s -= p;
        // add game to cart
        ++result;
        // discount next price
        if(p - d >= m)
            p -= d;
        else
            p = m;
    }
    //
    return result;
}