TIL 33 | 크로아티아 알파벳 (백준 2941 python)

Gom·2021년 3월 11일
0

Algorithm

목록 보기
11/48
post-thumbnail

문제 바로가기

접근방식

  • 크로아티아 알파벳을 배열에 저장한 뒤 for문을 돌려 입력 값 내 포함여부를 확인하였다.
  • replace()를 이용하여 크로아티아 알파벳이 포함되어 있으면 임의의 알파벳인 a로 변경해주었다.
  • 문제에서 요구하는 출력값은 알파벳의 개수이므로 치환하는 값 자체에 담긴 의미는 없다.
  • 2~3개의 문자로 이루어진 크로아티아 알파벳이 모두 치환되면 전체 문자열의 길이를 출력한다.

정답코드

#문제풀이

word = str(input())
c_alphabet = ['c=','c-','dz=','d-','lj','nj','s=','z=']

for c in c_alphabet:
    word = word.replace(c,'a')
print(len(word))

코드설명

크로아티아 알파벳 리스트를 for문으로 돌려 입력받은 단어 내에 해당 알파벳이 존재하는 지 확인한다. 존재한다면 'a'라는 임의의 한 단어로 치환한다. 이렇게 처리할 수 있는 이유는 문제에서 요구하는 답안이 문자열의 길이이기 때문이다. 문자의 내용이 아닌 2~3자리로 이루어진 크로아티아 알파벳이 1로 카운트되기만 하면 된다.

새로 알게된 개념

  • replace()
  • 문제에서 요구하는 답변에 따라 접근 방식이 달라진다. 처음 문제를 접했을 때 크로아티아 알파벳을 개별 매칭해야 하는 것으로 착각할 수 있는데 알파벳 수를 세는 것에 초점을 맞추면 간단하게 해결할 수 있다.
profile
안 되는 이유보다 가능한 방법을 찾을래요

0개의 댓글