※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 27325번 문제인 3 つの箱 (Three Boxes)이다.
문제는 아래 링크를 확인하자.
https://www.acmicpc.net/problem/27325
27325번: 3 つの箱 (Three Boxes)
長さ N の文字列 S が与えられる.S の各文字は L または R である. 1 つのボールと,ボールを入れることができる箱が 3 つある.箱には 1,2,3 と番号が付けられている. 最初,箱 1 にボー
www.acmicpc.net
지문에 주어져있는 대로 상자의 공을 옮기는 과정을 시뮬레이션해나가면서 3번 상자에 공이 들어있던 순간의 수를 세는 문제이다.
상자를 직접 구현하는 대신 공이 들어있는 상자의 번호를 나타내는 변수(아래의 cur)만을 이용하면 간단한 코드로 문제를 해결할 수 있다.
아래는 제출한 소스코드이다.
#include <iostream>
#include <string>
using namespace std;
int ans, cur = 1;
int slen;
string s;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cin >> slen >> s;
for (auto& l : s) {
if (l == 'L') {
if (cur > 1) cur--;
}
else {
if (cur < 3) cur++;
if (cur == 3) ans++;
}
}
cout << ans;
}
'BOJ' 카테고리의 다른 글
[BOJ 1090 // C++] 체커 (0) | 2023.02.01 |
---|---|
[BOJ 27261 // C++] Номера по диагонали (0) | 2023.01.31 |
[BOJ 21666 // C++] Треугольник Максима (0) | 2023.01.31 |
[BOJ 9924 // C++] The Euclidean Algorithm (0) | 2023.01.31 |
[BOJ 27323 // C++] 長方形 (Rectangle) (0) | 2023.01.31 |