TIL 2018-09-16
오늘 배운 것
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;
}
Comments