문제
곰곰이는 치킨을 좋아한다. 그러다 보니 매 끼니에 치킨을 먹고 있다. 당신은 곰곰이의 트레이너로서 곰곰이의 식단을 관리해주기로 했다.
곰곰이가 일간 먹어야 할 음식들의 리스트가 주어졌을 때, 리스트의 순서를 원하는 대로 조정하여 곰곰이가 연속으로 치킨을 먹는 날의 최댓값을 가장 작게 만들려고 한다.
곰곰이의 건강을 위해 위와 같은 프로그램을 작성해 보자.
코드
#include <stdc++.h>
using namespace std;
int main() {
int N, ans = 0, X =0;
cin >> N;
string S;
cin >> S;
for (int i = 0; i < S.size(); i++) {
if (S[i] == 'C')ans++;
else X++;
}
if (ans % (X+1) != 0)cout << ans / (X+1) +1;
else cout << ans / (X + 1);
}
C가 아닌 문자들로 구역을 나누어 준다.
예제로 나온 'CCHCCCK' 같은 경우 H와 K로 구역을 세개로 나눈다.
따라서 C의 개수/ (C가 아닌 것들의 개수 + 1)를 해주고... 나누어 떨어지지 않는 것들은 +1 해준다.
끝. 그냥저냥 숫자 계산하는 문제..
728x90
'백준' 카테고리의 다른 글
[백준BaekJoon]10844: 쉬운 계단 수/C++ (0) | 2023.04.18 |
---|---|
[백준BaekJoon]1926: 그림/C++ (0) | 2023.04.17 |
[백준BaekJoon]10709: 기상캐스터/C++ (0) | 2023.04.15 |
[백준BaekJoon]21318: 피아노 체조/C++ (0) | 2023.04.12 |
[백준BaekJoon]2467: 용액/C++ (0) | 2023.04.01 |