#include <string>
#include <vector>
#include <stack>
using namespace std;

vector<int> solution(vector<int> heights) {
    vector<int> answer(heights.size());
    stack <int> test;
    stack <int> tmp;
    int leng = heights.size();
    int k =0;
    for(int i=0; i < leng; i++){
        test.push(heights[i]);
    }
    for(int i=leng; i >0; i--){
        k = i;
        int now_n = test.top();
        test.pop();
        while(!test.empty()){
            int next_n = test.top();
            test.pop();
            tmp.push(next_n);
            k--;
            if(next_n > now_n){
                answer[i-1] = k;
                break;
            }

        }
         while(!tmp.empty()){
            test.push(tmp.top());
            tmp.pop();
        
         }
    }
    if(!test.empty()){
        for(int i=0; i < test.size(); i++){
            answer[i] = 0;
        }
    }
    return answer;
}

'자윤이와고리즘 > Code' 카테고리의 다른 글

[프로그래머스] 기능개발  (0) 2019.07.22
[프로그래머스] 스킬트리  (0) 2019.07.22
[프로그래머스] 주식가격  (0) 2019.07.22
[백준] 10819 | 차이를 최대로  (0) 2019.05.14
[백준] 1476 | 날짜계산  (0) 2019.05.09
#include <string>
#include <vector>

using namespace std;

vector<int> solution(vector<int> prices) {
    vector<int> answer;
    for(int i=0; i < prices.size(); i++){
        int cnt =0;
        for(int j=i+1; j < prices.size(); j++){
            cnt++;
            if(prices[i]>prices[j]){
                
                break;
            }
        }
        answer.push_back(cnt);
    }
    return answer;
}

'자윤이와고리즘 > Code' 카테고리의 다른 글

[프로그래머스] 스킬트리  (0) 2019.07.22
[프로그래머스] 탑  (0) 2019.07.22
[백준] 10819 | 차이를 최대로  (0) 2019.05.14
[백준] 1476 | 날짜계산  (0) 2019.05.09
[백준] 2309 | 일곱 난쟁이  (0) 2019.05.09

#include  <iostream>
#include  <algorithm>
#include  <vector>
#include  <math.h>
using namespace std;


int main() {
     int i,j, t, max = -1, sum, tmp;

    cin >> t;
    vector <int> num(t);

    for (i = 0; i < t; i++)
    cin >> num[i];

    for (i = 0; i < t-1; i++){
        for (j = i + 1; j < t; j++) {
            if (num[i] > num[j]) {
                tmp = num[i];
                num[i] = num[j];
                num[j] = tmp;
            }
       }
    }
    while (next_permutation(num.begin(), num.end())) {
        sum = 0;
        for (i = 0; i < t - 1; i++) {
            sum += (abs(num[i] - num[i + 1]));
            if (sum > max)
                max = sum;
       }
    }
    cout << max << endl;
}

'자윤이와고리즘 > Code' 카테고리의 다른 글

[프로그래머스] 탑  (0) 2019.07.22
[프로그래머스] 주식가격  (0) 2019.07.22
[백준] 1476 | 날짜계산  (0) 2019.05.09
[백준] 2309 | 일곱 난쟁이  (0) 2019.05.09
[백준] 6588 | 골드바흐의 추측  (0) 2019.05.08

단순하게 생각하자! 어렵게 말고!

 

#include <iostream>  
using namespace std;

int main() {
    int E, S, M;
    int e=1, s=1, m=1, cnt = 1;
    scanf("%d%d%d", &E, &S, &M);

    while (1) {
        if (e == E  && s == S &&m == M) {
            cout << cnt << endl;
            break;
        }
        e++; s++; m++;

        if (e == 16)
            e = 1;
        if (s == 29)
            s = 1;
        if (m == 20)
            m = 1;
        cnt++;
    }
}

+ Recent posts