본문 바로가기
Algorithm/백준

5430 . AC (C++)

by IT learning 2021. 4. 14.
728x90

망할 문제

 

하..AC 나오는 문제였다.

 

아니 풀이는 다 풀었는데 50퍼에서 계속 틀렸읍니다. 뜨니 멘탈이 와르르..

 

아무튼 이 문제는 덱을 이용하여 푸는 문제이다. 근데 문제 중간에서 R을 입력하면 뒤집는다고 나와있는데, 굳이 덱에 있는 숫자들을 돌릴 필요는 없다라는 걸 이틀만에 깨달았다;;;

 

생각보다 간단하게 생각하면 된다. bool을 이용해 뒤집었을때, 안뒤집어졌을때, 에러가 났을때, 안났을때 등을 설정해놓으면 생각보다 쉽게 문제를 풀 수 있었다.

 

근데 아까 50퍼에서 틀렸다는건 아마도 input 단계에서 입력하는 방법이 잘못 됐던것 같다.

 

난 그냥 숫자만 입력하면 되는줄 알았지만, ㄹㅇ 예시 입력 페이지에서 나오는 것처럼 입력을 해야 했던 것이었다.

 

이것도 이틀만에 알아채서 그거 찾아보며 구현을 하느라 좀 걸렸다.

 

#include <bits/stdc++.h>
using namespace std;

int main() {
	ios::sync_with_stdio(0);
	cin.tie(0);
	
	string con;
	int T;
	
	cin >> T;
	string type_num;
	int num;
	string a;
	while(T--) {
		cin >> con;
		cin >> num;
		cin >> type_num;
		deque<int> dq;
			for(int i = 0; i < type_num.length(); i++) {
				if(type_num[i] == '[') {
					continue;
				} else if (type_num[i] >= '0' && type_num[i] <= '9') {
					a += type_num[i];
				} else if (type_num[i] == ',' || type_num[i] == ']') {
					if(!a.empty()) {
						dq.push_back(stoi(a));
						a.clear();
					}
				}
			}
		
		bool print = true;
		bool tmp = true;
		for(int i = 0; i < con.length(); i++) {
			if(con[i] == 'R') {
				if(tmp == true) {
					tmp = false;
				} else {
					tmp = true;
				}
			} else if (con[i] == 'D') {
				if(dq.empty()){
					print = false;
					cout << "error" << '\n';
					break;
				}
				if(tmp == false) {
					dq.pop_back();
				} else {
					dq.pop_front();
				}
			}
		}
		
		if(print) {
			cout << "[";
				if(tmp == false) {
				while(!dq.empty()) {
					cout << dq.back();
					dq.pop_back();
					if(!dq.empty()) {
						cout << ",";
					}
				}
				cout << "]\n";
			} else if (tmp == true) {
				while(!dq.empty()) {
					cout << dq.front();
					dq.pop_front();
					if(!dq.empty()){
						cout << ",";
					}
				}
				cout << "]\n";
			}
		}
	}
}

코드가 많이 더럽다. 이해해 줘라; 아직 배우는 단계다. 구현만 되도 감사할 따름..

 

여담.

이 문제는 sloved.ac 점수에 반영이 안된다. 뭐지;

는 아니었다. 걍 오류였네. 이 문제 골드 5였다;;;; 무야;;

728x90

'Algorithm > 백준' 카테고리의 다른 글

1629. 곱셈(C++)  (0) 2021.04.21
2178. 미로 탐색 (C++)  (0) 2021.04.18
1926. 그림 (C++)  (0) 2021.04.18
2504. 괄호의 값 (C++)  (0) 2021.04.16
10845. 큐(C++)  (0) 2021.04.12

댓글

IT_learning's Commit