Programming Solve/BOJ
BOJ 2810 컵홀더 / C++
msm1029
2021. 8. 27. 14:59
반응형
문제 링크 : https://www.acmicpc.net/problem/2810
2810번: 컵홀더
첫째 줄에 좌석의 수 N이 주어진다. (1 ≤ N ≤ 50) 둘째 줄에는 좌석의 정보가 주어진다.
www.acmicpc.net
문제 풀이
기본적으로 별의 개수를 세면 된다.
SLLS인 경우 *S*LL*S*가 되므로 사용할 수 있는 컵홀더는 4개이다.
그런데 SSS인 경우 *S*S*S*이다. 이 때, 별의 개수는 4개인데 사람이 3명이므로 컵홀더는 3개밖에 사용되지 않는다.
따라서 사용할 수 있는 컵홀더가 사람 수보다 많을 때는 사람 수를 출력해주면 된다.
소스 코드
#include <iostream>
using namespace std;
int main(){
int n, cnt = 1;
char arr[51];
cin >> n;
for(int i=0; i<n; i++){
cin >> arr[i];
}
for(int i=0; i<n; ){
if(arr[i] == 'S'){
cnt++;
i++;
}
else{
cnt++;
i+=2;
}
}
if(n < cnt){
cout << n;
}else{
cout << cnt;
}
}
반응형