본문 바로가기
🔅코딩테스트 공부🔅/❗백준

[백준] 2941번 크로아티아 알파벳(with python)

by 윤무무 2023. 1. 21.

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

 

2941번: 크로아티아 알파벳

예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z=

www.acmicpc.net

 

1. 내가 작성한 코드
word = input()
cnt = 0

for i in range(len(word)):
  if i == 0:
    pass
  else:
    if word[i] in ['=']:
      if (word[i-1] in ['c','s']):
        cnt += 1
      elif (word[i-1] == 'z') and (word[i-2] != 'd'):
        cnt += 1
      elif word[i-1] == 'z' and word[i-2] == 'd':
        cnt += 2
    elif word[i] in ['-']:
      if word[i-1] in ['c','d']:
        cnt += 1
    elif word[i] in ['j']:
      if word[i-1] in ['l','n']:
        cnt += 1

result = len(word) - cnt

print(result)

 

끝이 =, -, j 일 때로 한 번 분류하고 끝이 =이지만 c,s / z일 때를 또 한 번 분류해서 풀었다.

 

즉,,, 주어진 모든 조건을 나눠서 풀었ㄷ ㅏㅋㅋㅋ ㅠ

 

이렇게 복잡하고 더럽게 풀면서 1차 현타

 

다른 분들은 다섯 줄만 써서 풀은 걸 알았을 때 2차 현타

 

2. 모범 답안
x = input()
cro_al = ['c=','c-','dz=','d-','lj','nj','s=','z=']
for i in cro_al:
    x = x.replace(i, 'a')
print(len(x))

1. 단순하게 크로아티아 문자를 발견하면

2. 한 글자로 대체 한 후

3. 문자의 길이를 재면 되는 문제 ^_^...

댓글