[백준] 2941번(while문)

·2022년 11월 8일

백준 문제풀이

목록 보기
16/159

백준 2941번


최종 제출 코드

lists = ['c=', 'c-', 'dz=','d-','lj','nj','s=','z=']
S = input()

count = 0
i=0

while(i < len(S)):
  if S[i:(i+3)] in lists:
    i += 3
  elif S[i:(i+2)] in lists:
    i += 2
  else:
    i += 1
  count += 1

print(count)
  • 크로아티아 알파벳에서 변경된 문자의 길이에 따른 경우의 수는 3가지
    1) 3개의 문자로 구성된 경우
    2) 2개의 문자로 구성된 경우
    3) 1개의 문자로 구성된 경우
  • 이 경우에는 2)번 케이스가 1)번 케이스의 부분집합이 되는 경우가 존재하지 않지만, 존재하는 경우라면 조건문의 순서에 따라 1)번 케이스를 2)번 케이스로 분류하는 오류가 발생할 수 있으므로 조건문의 순서를 코드와 같이 작성했다.
    ex) dzdz=라는 문자가 존재한다고 했을 때, 문자 dz=에 대해 S[i:(i+2)] in lists부터 검사하면 해당 조건문은 dz=dz로 분류한다.
profile
백엔드 개발자가 되고 싶어요(22.8.15~)

0개의 댓글