가티있는블로그

[SWEA] 4789.성공적인 공연 기획

2020. 3. 26. 11:23 | 프로그래밍/코딩테스트 문제

SW Expert Academy에서 4789. 성공적인 공연 기획 문제를 해결했다.

  • num은 현재 박수를 치고 있는 사람의 수이다.
  • answer은 고용해야할 사람의 수이다.
  • i번째 수 에있는 사람들은 i이상의 사람들이 박수를 칠때 박수를 친다. i가 num이상일 경우는 num에 i번째 사람의 수를 더한다.
  • i가 num이상이 아닐경우는 answer에 부족한 사람의 수를 더한 뒤 i번째 사람의 수를 더하여 반복.
#include<iostream>
using namespace std;

int main(int argc, char** argv){
    int T;
    cin >> T;
    for (int test_case = 1; test_case <= T; ++test_case){
        string s;
        int num = 0;
        int answer = 0;
        for (int i = 0; i < s.length(); i++) {
            if (num <= i) {
                num += s.at(i) - '0';
            }
            else {
                answer += i - num;
                num = i + s.at(i) - '0';
            }
        }
        cout << "#" << test_case << " " << answer << endl;
    }
    return 0;
}