티스토리 뷰
해설
처음부터 끝까지 검색을 시작한다.
검색을 해 나가면서 현재 검색하고 있는 문자가 j,=,-이면 그전 문자가 어떤거였는지를 체크한다.
또한 검색을 해 나가면서 단어의 개수를 세기 위해서 count를 하나씩 늘려준다
ljes=njak
라는 문자열이 있을때
l을 검색할때 count ++ 되고
그다음 j를 검색하게 되면 마찬가지로 count가 1 증가되서 count는 2인 상태에서
그 앞의 문자를 보니 l이다 따라서 lj는 크로아티아 문자이므로 다시 1을 빼줘서 count가 1이되게끔 만든다.
그다음 e를만나면 count=3
s를 만나서 count =4
=을 만나서 count=5인 상태에서
=을 만났으므로 앞의 문자까지 포함해서 보면 s=이다. 따라서 count를 1빼줘서 4가 되게끔하고
마찬가지로 검색을 쭉 하다보면 6이 나오게 된다.
=,-,j를 만났을때 바로 앞의 문자 뿐만이 아니라 그 앞의문자까지도 체크한다. 왜냐하면 dz=라는 크로아티아 문자가 있기 때문이다.
소스코드
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 | #include <iostream> #include <algorithm> using namespace std; string n; string strarr[8] = {"c=","c-","dz=","d-","lj","nj","s=","z="}; int main() { cin>>n; int count=0; for(int i=0; i<n.size(); i++) { if(n[i] == 'j' || n[i] == '=' || n[i] == '-') { count++; string str,str2; for(int j=i-1; j<=i; j++) //두글자 만들기 { str += n[j]; } if(i-2 >=0) //세글자 만들기 { for(int j=i-2; j<=i; j++) { str2 += n[j]; } } for(int k=0; k<8; k++) //두글자검사 세글자 검사 { if(strarr[k] == str2) { count-=2;break; } else if(strarr[k] == str) { count--;break; } } } else { count++; } } cout<<count<<endl; return 0; } | cs |
'알고리즘' 카테고리의 다른 글
[DP/중~중하] 9465번 스티커 (0) | 2017.10.08 |
---|---|
[BFS/중] 2178번 미로 탐색 (0) | 2017.10.08 |
[DP/난이도 중하] 동전 2(다시한번 풀어보기) (0) | 2017.10.06 |
[dp/난이도 하] 2156번 포도주 시식 (0) | 2017.10.06 |
[dfs/bfs/체감난이도 하] 2667번 단지번호붙이기 (0) | 2017.10.06 |
댓글
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- hydrate
- type alias
- reactdom
- promise
- computed
- es6
- useRef
- react
- reflow
- design system
- Next.js
- async
- atomic design
- Polyfill
- mobx
- await
- server side rendering
- webpack
- javascript
- reducer
- Babel
- typescript
- storybook
- react hooks
- return type
- useEffect
- Action
- rendering scope
- props
- state
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함