[BOJ] 백준 2810 컵홀더
이 문제는 자료구조중 큐를 이용하면 쉽게 풀 수 있는 문제 입니다.
좌석들을 전부 큐에 넣고, S or L 에 따라 pop의 횟수를 조절해주면 되는 문제 입니다.
소스 코드 :
#include#include using namespace std; int main() { int n; cin >> n; cin.ignore(); queue q; char s; // 큐에 문자들을 넣음 for (int i = 0; i < n; i++) { cin >> s; q.push(s); } int v = 0; // 큐에 원소가 있을 경우 while(!q.empty()) { // 싱글석 일경우 1회 pop 후 컵 장소 개수 올림. if (q.front() == 'S') { q.pop(); v++; } // 커플석 일경우 2회 pop 후 컵홀더 개수 올림. else { q.pop(); q.pop(); v++; } } // 좌석 수가 컵홀더 개수보다 클 경우 컵홀더 개수 출력, 그외 좌석수 출력 cout << (n>v+1?v + 1:n )<< endl; }
댓글
댓글 쓰기