Dolphins의 HelloWorld
SW Expert Academy 4789. 성공적인 공연 기획 D3 본문
->사이트에서 직접 문제를 찾아 들어가야함.
풀이
문제를 이해하고 나면 쉽게 풀 수 있는 문제이다.
필요한 사람과 박수를 치고있는 사람을 저장하는 변수를 할당하고
반복문을 통해 자릿수가 0이 아닐때마다 처리해주면 된다.
#include <iostream> #include <string> using namespace std; int main() { int T; scanf("%d", &T); for (int i = 1; i <= T; i++) { string s; cin >> s; int number = 0; //박수치는 사람 int need = 0; //더 고용해야할 사람 number += (s[0] - '0'); for (int i = 1; i < s.size(); i++) { // i는 기립박수를 치기 위해 필요한 사람 수 int x = s[i] - '0'; //해당 자리의 숫자 if (x != 0) { if ((i - number) > 0) { //박수치는 사람이 모자랄 경우 int tmp = i - number; //tmp는 더 필요한 사람의 숫자 need += tmp; //필요한 사람의 숫자 누적 number += (x + tmp); //원래 박수치는 사람 + 필요했던 사람의 숫자 + 새로 기립박수를 한 사람의 수 } else { number += x; //박수치는 사람의 수 누적 } } } printf("#%d %d\n", i, need); } }
'Algorithm > SW Expert Academy' 카테고리의 다른 글
SW Expert Academy 5432.쇠막대기 자르기 D4 (0) | 2018.09.01 |
---|---|
SW Expert Academy 4796. 의석이의 우뚝 선 산 D4 (0) | 2018.08.21 |
SW Expert Academy 5213. 진수의 홀수 약수 D4 (0) | 2018.08.19 |
SW Expert Academy 1859. 백만장자 프로젝트 D2 (0) | 2018.08.19 |
Comments