반응형

문제

https://www.acmicpc.net/problem/2941


대충 봤을때는 문자열의 수에서 저 문자열을 만났을때 -1 또는 -2를 해주면 될거 같다.

dz=일때 -2 를 해줘야 하지만dz=안에 z=도 포함이 되있기 때문에 -2를 해주지 않아도 z=을

 카운팅할때 -1이 들어가기 때문에 이부분을따로 처리하지 않아도 된다.

파이썬은 문자열을 포함하고 있는지 포함 여부를 확인해주는 함수와 있다면 그 위치를 

반환해주는 함수 몇번 포함되있는지 반환해주는 함수도있다. 우리는 3번째 함수 count() 

를 써서 해결 할 것이다. 

나머지 두개의 함수는 https://sonseungha.tistory.com/511 에서 확인해볼수있다.


1
2
3
4
5
6
7
8
9
10
import sys
 
black_list=['c=','c-','d-','lj','nj','s=','z=','dz=']   #필터링될 문자
s=sys.stdin.readline().strip()
sub=0
 
for i in black_list:
    sub += s.count(i)   #필터링할 문자를 포함하는 수만큼 카운팅
 
print(len(s)-sub)   #문자열의 길이에서 카운팅한 숫자를 빼줌
cs



만약에 z=이 포함되지 않았다면 dz=는 따로 처리를 해줬어야 할것이다.

배려인지 함정인지 모르겠지만 난 z=를 보지않고 dz=를 따로 처리해줘서 한번 틀렸다.


반응형

'알고리즘(python) > 문자열' 카테고리의 다른 글

[Python]문자열 알고리즘1 백준 1786  (0) 2020.04.04
[Python]문자열 백준 1316  (0) 2019.12.19
[Python]문자열 백준 5622  (0) 2019.12.19
[Python]문자열 백준 1152  (0) 2019.12.18
[Python]문자열 백준 2908  (0) 2019.12.18
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기