※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 24393번 문제인 조커 찾기이다.
문제는 아래 링크를 확인하자.
https://www.acmicpc.net/problem/24393
24393번: 조커 찾기
중앙대학교에 다니는 수현이는 머신러닝을 공부하던 중 심심하여 트럼프 카드를 가지고 놀고 있다. 언젠가 유튜브에서 타짜 기술을 사용하는 영상을 보고 따라하고 싶어진 수현이는 카드 덱의
www.acmicpc.net
카드는 총 27장이고 이 카드를 100만번 섞으므로, 카드를 섞는 과정을 카드 한 장씩 움직여 구현하는 것으로도 문제를 충분히 해결할 수 있다는 걸 관찰할 수 있다.
스택을 이용하여 문제의 상황에 맞게끔 카드를 한장씩 움직여주자.
아래는 제출한 소스코드이다.
#include <iostream>
#include <stack>
using namespace std;
stack<int> A, B, C;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
A.push(1);
for (int i = 0; i < 26; i++) A.push(0);
int T; cin >> T;
while (T--) {
for (int i = 0; i < 14; i++) {
C.push(A.top()); A.pop();
}
for (int i = 0; i < 13; i++) {
B.push(A.top()); A.pop();
}
int total = 0, sign = 1;
while (total < 27) {
int x; cin >> x;
total += x;
if (sign) {
while (x--) {
A.push(C.top()); C.pop();
}
}
else {
while (x--) {
A.push(B.top()); B.pop();
}
}
sign ^= 1;
}
}
int ans = 27;
while (A.top() == 0) {
A.pop();
ans--;
}
cout << ans;
}
728x90
'BOJ' 카테고리의 다른 글
[BOJ 24391 // C++] 귀찮은 해강이 (0) | 2022.02.19 |
---|---|
[BOJ 24228 // C++] 젓가락 (0) | 2022.02.18 |
[BOJ 24396 // C++] 푸앙이와 별 (0) | 2022.02.16 |
[BOJ 24397 // C++] 말해 xor NO! (0) | 2022.02.15 |
[BOJ 24392 // C++] 영재의 징검다리 (0) | 2022.02.14 |