Notice
Recent Posts
Recent Comments
Link
알고리즘 모음(C++)
백준 2810 - 컵홀더(C++) 본문
문제 링크입니다. https://www.acmicpc.net/problem/2810
일반 좌석과 커플석이 주어졌을 때, 몇명의 사람이 컵홀더를 사용할 수 있는지를 구하는 문제입니다.
양 옆의 끝에는 항상 컵폴더가 존재하며, 커플 좌석의 경우에는 중간에 컵홀더가 없습니다.
따라서 좌석이 있을 경우, 해당 좌석의 왼쪽에 컵홀더가 존재한다고 가정한 뒤, 마지막에 컵홀더를 추가해주면 됩니다.
S가 나타나는 경우에는 왼쪽에 컵홀더를 놓을 수 있으니, 1을 추가합니다.
L이 나타나는 경우에는 커플 좌석이라는 의미이니, 자신의 왼쪽 좌석이 L인지를 확인합니다.
-L이라면 컵홀더를 하나 추가
-아니라면 건너뛰어줍니다.
자세한 것은 코드를 참고해주세요
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <queue>
#include <vector>
#include <cstring>
#include <cmath>
using namespace std;
int N, ans;
string arr;
int main(){
cin.tie(0);
cout.tie(0);
cin >> N;
cin >> arr;
for(int i = 0; i < N; i++){
if(arr[i] == 'L'){
if(i-1 >= 0){
if(arr[i-1] == 'L'){
ans++;
arr[i] = '0';
arr[i-1] = '0';
}
}
else continue;
}
else{
ans++;
arr[i] = '0';
}
}
ans++;
if(ans >= N) cout << N;
else cout << ans;
return 0;
}
질문 및 조언은 댓글을 남겨주세요
'백준' 카테고리의 다른 글
백준 9996 - 한국이 그리울 땐 서버에 접속하지(C++) (0) | 2023.06.01 |
---|---|
백준 9093 - 단어 뒤집기(C++) (0) | 2023.05.28 |
백준 25372 - 성택이의 은밀한 비밀번호(C++) (0) | 2023.05.28 |
백준 10822 - 더하기(C++) (0) | 2023.05.28 |
백준 2902 - KMP는 왜 KMP일까?(C++) (0) | 2023.05.20 |