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

PearLine_Zero·2024년 3월 15일

하루에 1커밋 CodingTest

목록 보기
56/110
post-thumbnail
  • 티어 : Silver 5
  • 정답여부 : 오답
  • 알고리즘 유형 : 구현, 문자열
  • 시간 제한 : 1초

💡문제

예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다.

크로아티아 알파벳변경
čc=
ćc-
dz=
đd-
ljlj
njnj
šs=
žz=

예를 들어, ljes=njak은 크로아티아 알파벳 6개(lj, e, š, nj, a, k)로 이루어져 있다. 단어가 주어졌을 때, 몇 개의 크로아티아 알파벳으로 이루어져 있는지 출력한다.

dž는 무조건 하나의 알파벳으로 쓰이고, d와 ž가 분리된 것으로 보지 않는다. lj와 nj도 마찬가지이다. 위 목록에 없는 알파벳은 한 글자씩 센다.

💡입력

첫째 줄에 최대 100글자의 단어가 주어진다. 알파벳 소문자와 '-', '='로만 이루어져 있다.

단어는 크로아티아 알파벳으로 이루어져 있다. 문제 설명의 표에 나와있는 알파벳은 변경된 형태로 입력된다.

💡출력

입력으로 주어진 단어가 몇 개의 크로아티아 알파벳으로 이루어져 있는지 출력한다.

💡예제 입력 1

ljes=njak

💡예제 출력 1

6

💡예제 입력 2

ddz=z=

💡예제 출력 2

3

💡예제 입력 3

nljj

💡예제 출력 3

3

💡예제 입력 4

c=c=

💡예제 출력 4

2

💡예제 입력 5

dz=ak

💡예제 출력 5

3

💡문제요약

입력된 단어에서 크로아티아 단어가 있는지 확인하여 있으면 크로아티아 단어로 변경해줘서 단어의 길이를 출력 하는 문제

💡알고리즘 설계

  1. croatia 단어의 배열을 만들어줌
  2. 단어를 입력 받음
  3. 크로아티아 단어를 하나씩 빼주는데 word에 있으면 count 함수를 써서 count변수에 넣어줌
  4. 원래의 단어의 길이에서 count된 즉 크로아티아 단어를 빼주면 됨

💡작성코드

  • python
croatia = ['c=', 'c-', 'dz=', 'd-', 'lj', 'nj', 's=', 'z=']
word = input()
count = 0
for i in croatia:
    count += word.count(i) #크로아티나 알파벳이 몇 개 있는지 세는 부분
print(len(word)-count)    

💡틀린 이유 or 수정할 부분

replace 함수를 이용하면 한번에 가능하며 시간과 코드길이 단축이 가능.

✍️ replace란?

  • 문자열의 특정 문자를 다른 문자로 바꾸어주는 함
    df.replace('현재 문자열', '대체 문자열')

💡틀린 부분 수정 or 다른풀이

  • python
c = ['c=', 'c-', 'dz=', 'd-', 'lj', 'nj', 's=', 'z=']
a = input()
for i in c:
    a = a.replace(i, '0')  
print(len(a))   

💡느낀점 or 기억할 정보

좀 더 많은 함수를 기억하는게 좋을거 같다. replace함수 기억하기!!

profile
https://baesaa0304.tistory.com 블로그 이사합니다~

0개의 댓글