본문 바로가기
Programming Solve/BOJ

BOJ 2810 컵홀더 / C++

by msm1029 2021. 8. 27.
반응형

문제 링크 : 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;
    }
}
반응형

'Programming Solve > BOJ' 카테고리의 다른 글

BOJ 1931 회의실 배정 / C++  (0) 2021.08.31
BOJ 1436 영화감독 숌 / C++  (0) 2021.08.27
BOJ 2851 슈퍼 마리오 / C++  (0) 2021.08.27
BOJ 3040 - 백설 공주와 일곱 난쟁이 / C++  (0) 2021.08.26
BOJ 10815 숫자 카드 / C++  (0) 2021.07.16