백준 문제 풀이 2941 (크로아티아 알파벳)
백준 문제 풀이 크로아티아 알파벳
cro = ['c=','c-','dz=','d-','lj','nj','s=','z='] # 크로아티아 알파벳 리스트로 정리
word = input() # 문자 입력
result = len(word) # 크로아티아 알파벳이 없을 경우를 위해 문자의 최대길이로 초기화
for i in cro: # 크로아티아 알파벳 갯수만큼 루프
if i in word: # 입력받은 문자에 크로아티아 알파벳이 있다면
result = result - 1 # 결과값에서 글자길이 하나 제거
print(result) # 출력
처음 생각한 소스 코드
멍청하게도 같은 크로아티아 알파벳이 들어갔을 경우와 dz= 의 문자 길이가 3인걸 생각하지 않았다.
cro = ['c=','c-','dz=','d-','lj','nj','s=','z=']
word = input()
result = len(word)
for i in cro:
if i in word:
result = result - word.count(i)
print(result)
그래서 word 안에서 i에 들어가있는 크로아티아 문자의 갯수를 센다음 그 갯수만큼 빼주었다.
그 후 출력하였더니 정답이 나왔다.
cro = ['c=','c-','dz=','d-','lj','nj','s=','z=']
word = input()
for i in cro:
word = word.replace(i,',')
print(len(word))
그 후 다른사람들의 답을 찾아 보았는데 문자의 갯수를 세면 되는거기 때문에 replace 함수로 찾은 크로아티아 알파벳을 아무 문자로 치환한 다음 문자 길이를 출력해도 된다. replace라는 함수는 몰랐던 함수인데 이번에 찾아보면서 배우게 되었다.