less than 1 minute read

오늘 배운 것


sport

백준 문제풀이

10828 - 스택

cpp로 푸려는데 스위치 문 쓰려는데 문자열에서 enum으로 바로 캐스팅이 안 되서 unordered_map<fromType, toType>을 사용해야 했다. 다 맞은거 같았는데 런타임 에러가 뜨길래 왜인가 했더니 top 명령에도 비었는지 확인이 필요한 것이었다.

1874 - 스택 수열

시간 초과가 왜 뜨나 했는데 그냥 std::string에 더하기 쓰는게 벡터 쓰는것보다 빠른 것이었다. 그리고 NO 출력 검사가 잘못되어 있었음.

void solve() {
	int T;
	cin to T;
	VI arr;

	VS inputs(2);
	int curtarget = 0;
	int cur = 0;
	int next = 1;

	VS ans;
	string ansstr = "";

	FOR(t, 0, T, 1) {
		cin >> curtarget;
		
		bool exit = false;
		while (!exit) {
			if (curtarget > cur) {
				arr.push_back(next);
				cur = next;
				next++;
				ansstr += "+\n";
			}
			if (cur >= curtarget) {
				if (arr.size() == 0) {
					cout << "NO" << endl;
					return;
				}
				ansstr += "-\n";
				cur = arr.back();
				arr.pop_back();
				if (cur == curtarget) {
					exit = true;
				}
			}
		}
	}

	cout << ansstr << endl;
}

dep

ref


Tags:

Categories:

Updated:

Comments