Manipulation de chaîne C AtCoder ABC110 à résoudre dans Ruby

introduction

Ce thème

AtCoder Beginner Contest C - String Transformation Difficulty: 946

Ce thème, opération de chaîne de caractères

Comme ce sont des lettres minuscules différentes, si vous y pensez dans l'autre sens, vous devriez envisager la duplication, donc parler de chaînes de caractères en double est ** hash **. Examinez le revers du hachage pour que le dos de la pièce soit le devant. Ruby

ruby.rb


s = gets.chomp.chars
t = gets.chomp.chars
h = {}
g = {}
s.size.times do |i|
  if h[s[i]]
    if h[s[i]].count(t[i]) == 0
      h[s[i]] << t[i]
    end
  else
    h[s[i]] = [t[i]]
  end
  if g[t[i]]
    if g[t[i]].count(s[i]) == 0
      g[t[i]] << s[i]
    end
  else
    g[t[i]] = [s[i]]
  end
end
puts h.flatten(-1) == g.invert.flatten(-1) ? 'Yes' : 'No'

hash.rb


h = {}
g = {}
s.size.times do |i|
  if h[s[i]]
    if h[s[i]].count(t[i]) == 0
      h[s[i]] << t[i]
    end
  else
    h[s[i]] = [t[i]]
  end
  if g[t[i]]
    if g[t[i]].count(s[i]) == 0
      g[t[i]] << s[i]
    end
  else
    g[t[i]] = [s[i]]
  end
end

Nous obtenons le hachage h qui regarde la chaîne t de la chaîne s et le hachage g qui regarde la chaîne s de la chaîne t.

flat.rb


puts h.flatten(-1) == g.invert.flatten(-1) ? 'Yes' : 'No'

Obtenez l'inverse du hachage (échangez la clé et la valeur) avec ʻinvert` et comparez. Python

Ruby
Longueur du code(Byte) 375
Temps d'exécution(ms) 514
Mémoire(KB) 22780

Résumé

Site référencé

Recommended Posts

Manipulation de chaîne C AtCoder ABC110 à résoudre dans Ruby
Résolution avec Ruby, Perl, Java et Python AtCoder ABC 107 B Manipulation de chaînes
Résolution avec Ruby et Python AtCoder ABC011 C Méthode de planification dynamique
Résolution avec Ruby, Perl, Java et Python AtCoder ABC 065 C-th power
Résolution avec Ruby et Python AtCoder ABC057 C Décomposition du facteur premier Recherche complète de bits
Résolu AtCoder ABC 114 C-755 avec Python3
Résolution avec Ruby et Python AtCoder ARC 059 C Méthode du carré minimum
Résolution avec Ruby et Python AtCoder ABC178 D Méthode de planification dynamique
Résolution avec Ruby et Python AtCoder ABC151 D Recherche de priorité de largeur
Résolution avec Ruby et Python AtCoder ABC153 E Méthode de planification dynamique
Résolution avec Ruby et Python AtCoder ARC067 C factorisation premier
Résolution avec Ruby et Python AtCoder ABC138 D Liste adjacente
Résolution avec Ruby, Python et numpy AtCoder ABC054 B Calcul de la matrice
Résolution avec Ruby, Python et networkx AtCoder ABC168 D Liste adjacente
Résolution avec Ruby, Perl, Java et Python AtCoder ARC 098 C Somme cumulative
Résolution avec Ruby, Perl, Java et Python AtCoder CADDi 2018 C factorisation premier
AtCoder ABC 165 D Floor Function résolue en Ruby, Perl, Java et Python
Résolution avec Ruby et Python AtCoder Tenka1 Programmer Contest C Somme cumulative
Résolution avec Ruby, Perl, Java et Python AtCoder ABC 131 D Tri des tableaux
Résolution avec Ruby, Perl, Java et Python AtCoder ABC 047 C Expression régulière
Défiez AtCoder (ABC) 164 avec Python! Un problème ~ C
Résolution avec Ruby et Python AtCoder CODE FESTIVAL 2016 qual C B Priority Queue
Résolvez AtCoder ABC166 avec python
[Explication AtCoder] Contrôle ABC180 Problèmes A, B, C avec Python!
Résolution avec Ruby et Python AtCoder ABC133 D Somme cumulée
Résolution avec Ruby et Python AtCoder AISING2020 D Méthode carrée itérative
Résolution avec Ruby, Perl, Java et Python AtCoder ATC 002 A
[Explication AtCoder] Contrôle ABC158 Problèmes A, B, C avec Python!
Résolution avec Ruby, Perl, Java et Python AtCoder ATC 002 B
[Explication AtCoder] Contrôle ABC164 Problèmes A, B, C avec Python!
[Explication AtCoder] Contrôle ABC168 Problèmes A, B, C avec Python!
Résoudre ABC163 A ~ C avec Python
Atcoder ABC125 C --GCD sur tableau noir
Résoudre ABC168 A ~ C avec Python
Résoudre ABC167 A ~ C avec Python
Résoudre ABC158 A ~ C avec Python
[Commentaire d'AtCoder] Gagnez le problème ABC165 C "Many Requirements" avec Python!
Résolution en Ruby, Python et Java AtCoder ABC141 D Priority Queue
[Explication AtCoder] Contrôlez les problèmes A, B, C d'ABC182 avec Python!
Atcoder ABC099 C - Solution séparée de Strange Bank
Résolution avec Ruby, Perl, Java et Python AtCoder AGC 033 A Recherche de priorité de largeur
[AtCoder] Résoudre ABC1 ~ 100 Un problème avec Python
AtCoder ABC176
Résolution avec Ruby et Python AtCoder ABC172 C Dichotomie de somme cumulée
AtCoder ABC177
[Explication AtCoder] Contrôle ABC184 Problèmes A, B, C avec Python!
[Explication AtCoder] Contrôlez les problèmes A, B, (C), D de ABC165 avec Python!
[Explication AtCoder] Contrôlez les problèmes A, B, C, D d'ABC183 avec Python!
Résoudre avec Ruby et Python AtCoder ABC084 D Somme cumulative des nombres premiers
Résolution avec Ruby, Perl, Java et Python AtCoder ARC 066 C Hash carré itératif
[Explication AtCoder] Contrôlez les problèmes A, B, C, D d'ABC181 avec Python!
[AtCoder] Résoudre un problème de ABC101 ~ 169 avec Python
AtCoder ABC 098 C - Idées d'attention menant à la réponse
AtCoder ABC 174 Python