티스토리 뷰
이 문제도 if else떡칠만 하면 되는 쉬운문제인데 약간 함정을 파놓았다.
숫자가 0~9만 되는게 아니라 10까지도 된다는것과
스타상을 받으면 바로 전 숫자까지 2배를 시켜줘야 한다는점 등등..
문제 자체는 쉬운데 풀다가 계속 디테일을 놓쳤다
이것도 한 20분좀넘게 걸린거 같다 시간을 줄이자..
문제 이해하는게 더 오래걸린듯
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | #include <iostream> #include <algorithm> #include <vector> using namespace std; vector<int> result; int main() { string str; cin>>str; for(int i=0; i<str.size(); i++) { if(i+1<str.size() && str[i]=='1' && str[i+1]=='0') { result.push_back(10); } else if(str[i] >='0' && str[i]<='9') { result.push_back(str[i]-'0'); } else if(str[i] == 'D') { int back = result.back();result.pop_back(); back *= back;result.push_back(back); } else if(str[i] == 'T') { int back = result.back();result.pop_back(); back = back*back*back; result.push_back(back); } else if(str[i] == '*') { if(result.size()>=2) { int back1 = result.back(); result.pop_back(); int back2 = result.back(); result.pop_back(); back1 *=2; back2 *=2; result.push_back(back1);result.push_back(back2); } else{ int back1 = result.back(); result.pop_back(); back1 *=2; result.push_back(back1); } } else if(str[i] == '#') { int back1 = result.back();result.pop_back(); back1 *= -1; result.push_back(back1); } } int count =0; for(int i=0; i<result.size(); i++) { count += result[i]; } cout<<count<<endl; return 0; } | cs |
'알고리즘' 카테고리의 다른 글
플로이드 알고리즘(All pair shortest path) 자바로 구현 (0) | 2017.11.28 |
---|---|
[DFS/그래프/하] 4963번 섬의 개수 (0) | 2017.10.10 |
[카카오/신입공채] 1번 비밀지도(정답률81%) (0) | 2017.10.08 |
[DP/중~중하] 9465번 스티커 (0) | 2017.10.08 |
[BFS/중] 2178번 미로 탐색 (0) | 2017.10.08 |
댓글
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- server side rendering
- design system
- props
- reducer
- Next.js
- typescript
- computed
- promise
- Polyfill
- react hooks
- mobx
- return type
- async
- useEffect
- atomic design
- storybook
- reactdom
- webpack
- rendering scope
- es6
- react
- useRef
- Babel
- hydrate
- Action
- await
- javascript
- state
- reflow
- type alias
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함