バージュンクロアチア文字(2941)


質問する


以前はオペレーティングシステムでクロアチア文字を入力できませんでした.したがって、クロアチア文字の入力は次のように変更します.
クロアチア文字の変更
č c=
ć c-
dž dz=
đ d-
lj lj
nj nj
š 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
  • 最初の試み
  • word = input()
    sum = len(word)
    print(sum)
    if "c=" in word:
        sum -= 1
    if "c-" in word:
        sum -= 1
    if "dz=" in word:
        sum -= 2
    if "d-" in word:
        sum -= 1
    if "lj" in word:
        sum -= 1
    if "nj" in word:
        sum -= 1
    if "s=" in word:
        sum -= 1
    if "z=" in word:
        sum -= 1
    print(sum)
  • どんな方法で解くかは分かっていたが、単語を繰り返すときの正解は思いつかなかった.
  • 正解
  • croatia = ['c=', 'c-', 'dz=', 'd-', 'lj', 'nj', 's=', 'z=']
    word = input()
    for c in croatia:
        word = word.replace(c, 'a')
    print(len(word))
  • replaceは、文字列内の任意の値を検索して変更できます.
    このクロアチアで変更する単語を入力し、for文でクロアチア文字を「a」に変更し、2,3文字を1文字に変換して単語の長さを出力すればよい.