백준 2941번(크로아티아 알파벳)

wau2380(yijung park)·2021년 8월 14일
0
post-thumbnail

문제

이 문제 때문에 5시간 동안 헤맸다.. 문제가 뭐였냐면..

순서가 잘못됬다 순서가!!!!

올바른 예

C_A = ['c=', 'c-', 'dz=', 'd-', 'lj', 'nj', 's=', 'z=']

틀린 예

C_A = ['c=','c-','d-','d-','lj','nj','s=','z=','dz=']

원래 내 알고리즘도 맞는 정답이였으나.. 순서 하나로 정답을 보게된.. 아주 .. 나쁜..

앞으로는 문제를 잘보자.. 덕분에 절실히 꺠달았다.

논리

['c=', 'c-', 'dz=', 'd-', 'lj', 'nj', 's=', 'z=']
한 문자열에 위와 같은 문자열이 들어있다면 글자 수를 1개로 취급한다.
ex) 'akc=' 3개 'a','k','c='
문자열의 갯수를 저장한 다음, count() 함수를 이용해 위 문자열이 들어있다면
-1 을 한다.
예외적으로, 'dz=', 'z=' 같은 겹치는 것이 존재하는데
예를들어 'ddz=z='는 3개이다. 그러나 컴퓨터에서는 'dz=', 'z=' 둘다 인식하게 되어서
결국에는 우리가 의도한대로 'dz='는 -2를 하게 된다.

정답


string = input()

cnt = len(string)
C_A = ['c=', 'c-', 'dz=', 'd-', 'lj', 'nj', 's=', 'z=']

for i in range(0,len(C_A)):
    index = string.count(C_A[i])
    if index != 0:
        cnt -= index
print(cnt)

앞으로는 주의하자.

profile
학생 프로그래머

0개의 댓글

관련 채용 정보