Ce thème, expression régulière
Ruby
Par exemple, si vous assemblez WWWWBBWBBB
dans WB, il devient WBWB
, et vous pouvez voir qu'il peut être transformé en une couleur en 3 fois.
Ce type de traitement de chaîne peut être facilement résolu en utilisant des expressions régulières.
ruby.rb
s = gets.chomp
s.gsub!(/W+/, "W")
s.gsub!(/B+/, "B")
puts s.size - 1
«W +» représente un ou plusieurs caractères ** W ** consécutifs. Python
python.py
import re
s = input()
s = re.sub(r'W+', "W", s)
s = re.sub(r'B+', "B", s)
print(len(s) - 1)
ʻImport re` est requis lors de l'utilisation d'expressions régulières dans * Python *. Perl
perl.pl
chomp (my $s = <STDIN>);
$s =~ s/W+/W/g;
$s =~ s/B+/B/g;
print length($s) - 1, "\n";
Java
java.java
import java.util.*;
class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s = sc.next();
sc.close();
s = s.replaceAll("W+", "W");
s = s.replaceAll("B+", "B");
System.out.println(s.length() - 1);
}
}
Ruby | Python | Perl | Java | |
---|---|---|---|---|
Longueur du code | 71 Byte | 97 Byte | 87 Byte | 310 Byte |
Temps d'exécution | 36 ms | 38 ms | 21 ms | 239 ms |
Mémoire | 10076 KB | 4468 KB | 640 KB | 35160 KB |
Site référencé
Recommended Posts