본문 바로가기
BaekJoon/C++

2810 : 컵홀더 (C++)

by GrayChoi 2021. 1. 19.
반응형

 

2810번: 컵홀더

첫째 줄에 좌석의 수 N이 주어진다. (1 ≤ N ≤ 50) 둘째 줄에는 좌석의 정보가 주어진다.

www.acmicpc.net


그리디 알고리즘을 사용하여 푸는 문제

주의할 점은 컵 홀더를 세는 것이 아닌 사람을 세야하는 문제.

좌석이 S만 나올 때는 자신의 왼쪽에 있는 컵홀더만 사용하다가

LL좌석이 나온 후 부터는 자신의 오른쪽에 있는 컵홀더만 사용할 수 있음과 동시에

이후 LL좌석이 나오는 때는 한 사람은 컵홀더를 사용할 수 없게 된다.

이에 맞춰 코딩을 하였다.

#include<iostream>
#include<string>
using namespace std;

int main() {
    int N;
    cin >> N;

    string seat;
    cin >> seat;

    int count = 0;
    int check = 0;

    for(int i = 0; i < N; i++) {
        if(seat[i] == 'S') {
            count++;
        } else {
            if(check == 0) {
                check++;
                count += 2;
                i++;
            } else {
                count++;
                i++;
            }
        }
    }

    cout << count << endl;

    return 0;
}

 

 

 

 

 

 

 

 

반응형

'BaekJoon > C++' 카테고리의 다른 글

1475 : 방 번호 (C++)  (0) 2021.01.20
1259 : 팰린드롬수 (C++)  (0) 2021.01.20
4796 : 캠핑 (C++)  (0) 2021.01.19
10799 : 쇠막대기 (C++)  (0) 2021.01.18
2751 : 수 정렬하기 2 (C)  (0) 2021.01.11

댓글