반응형
문제
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 |
최근댓글