BOJ 2941 크로아티아 알파벳

1 개요[ | ]

BOJ 2941 크로아티아 알파벳
  • 규칙에 맞는 알파벳의 개수를 출력하는 문제2

2 C++[ | ]

#include <iostream>
#include <string>
using namespace std;

int main() {
    string str;
    cin >> str;
    string alphas[8] = {"c=","c-","dz=","d-","lj","nj","s=","z="};
    string alpha;
    for(int i=0; i<8; i++) {
        alpha = alphas[i];
        int found;
        while(true) {
            found = str.find(alpha);
            if(found == string::npos) break;
            str.replace(found, alpha.length(), "_");
        }
    }
    cout << str.length() << '\n';
}

3 Java[ | ]

import java.util.Scanner;
import java.util.Arrays;
public class Main {
    private static int strlenCroatia(String word) {
        String[] alphas = {"c=","c-","dz=","d-","lj","nj","s=","z="};
        for(int i=0; i<alphas.length; i++) {
            word = word.replace(alphas[i],"_");
        }
        return word.length();
    }
    public static void main(String args[]) {
        /*
        System.out.println( strlenCroatia("ljes=njak") ); // 6
        System.out.println( strlenCroatia("ddz=z=") ); // 3
        System.out.println( strlenCroatia("nljj") ); // 3
        System.out.println( strlenCroatia("c=c=") ); // 2
        */
        
        Scanner sc = new Scanner(System.in);
        String word = sc.next();
        System.out.println( strlenCroatia(word) ); 
    }
}

4 Perl[ | ]

$n=<>;
$n =~ s/c=|c-|dz=|d-|lj|nj|s=|z=/_/g;
printf("%d\n", ($n =~ s/(.)/$1/sg) - 1);

5 PHP[ | ]

<?php
$str = rtrim(fgets(STDIN));
$alphas = ['c=','c-','dz=','d-','lj','nj','s=','z='];
echo strlen(str_replace($alphas, '_', $str));

6 Python[ | ]

s = input()
alphas = ["c=","c-","dz=","d-","lj","nj","s=","z="]
for alpha in alphas:
    s = s.replace(alpha, "_")
print( len(s) )
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}