[PYTHON] AtCoder ABC110 C-String-Manipulation zum Lösen in Ruby

Einführung

Dieses Thema

AtCoder Beginner Contest C - String Transformation Difficulty: 946

Dieses Thema, Zeichenkettenoperation

Da es sich um unterschiedliche Kleinbuchstaben handelt, sollten Sie, wenn Sie umgekehrt darüber nachdenken, eine Duplizierung in Betracht ziehen. Wenn Sie also von doppelten Zeichenfolgen sprechen, ist dies ** Hash **. Untersuchen Sie die Rückseite des Hashs so, dass die Rückseite der Münze die Vorderseite ist. 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

Wir bekommen den Hash h, der die Zeichenfolge t von der Zeichenfolge s betrachtet, und den Hash g, der die Zeichenfolge s von der Zeichenfolge t betrachtet.

flat.rb


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

Holen Sie sich die Umkehrung des Hash (tauschen Sie den Schlüssel und den Wert) mit "invertieren" und vergleichen Sie. Python

Ruby
Codelänge(Byte) 375
Ausführungszeit(ms) 514
Erinnerung(KB) 22780

Zusammenfassung

Referenzierte Site

Recommended Posts

AtCoder ABC110 C-String-Manipulation zum Lösen in Ruby
Lösen mit Ruby, Perl, Java und Python AtCoder ABC 107 B String-Manipulation
Lösen mit Ruby und Python AtCoder ABC011 C Dynamische Planungsmethode
Lösen mit Ruby, Perl, Java und Python AtCoder ABC 065 C-te Potenz
Lösen mit Ruby und Python AtCoder ABC057 C Zerlegung des Primfaktors Bit vollständige Suche
AtCoder ABC 114 C-755 mit Python3 gelöst
Lösen mit Ruby und Python AtCoder ARC 059 C Minimum-Quadrat-Methode
Lösen mit Ruby und Python AtCoder ABC178 D Dynamische Planungsmethode
Lösen mit Ruby und Python AtCoder ABC151 D Suche nach Breitenpriorität
Lösen mit Ruby und Python AtCoder ABC153 E Dynamische Planungsmethode
Lösen mit Ruby und Python AtCoder ARC067 C Primfaktorisierung
Lösen mit Ruby und Python AtCoder ABC138 D Benachbarte Liste
Lösen mit Ruby, Python und numpy AtCoder ABC054 B Matrixberechnung
Lösen mit Ruby, Python und networkx AtCoder ABC168 D Benachbarte Liste
Lösen mit Ruby, Perl, Java und Python AtCoder ARC 098 C Kumulative Summe
Lösen mit Ruby, Perl, Java und Python AtCoder CADDi 2018 C Primfaktorisierung
AtCoder ABC 165 D Bodenfunktion in Ruby, Perl, Java und Python gelöst
Lösen mit Ruby und Python AtCoder Tenka1 Programmer Contest C Kumulative Summe
Lösen mit Ruby, Perl, Java und Python AtCoder ABC 131 D Sortieren von Arrays
Lösen mit Ruby, Perl, Java und Python AtCoder ABC 047 C Regulärer Ausdruck
Fordern Sie AtCoder (ABC) 164 mit Python heraus! A ~ C Problem
Lösen mit Ruby und Python AtCoder CODE FESTIVAL 2016 qual C B Priority Queue
Löse AtCoder ABC166 mit Python
[AtCoder Erklärung] Kontrollieren Sie ABC180 A, B, C Probleme mit Python!
Lösen mit Ruby und Python AtCoder ABC133 D Kumulative Summe
Lösen mit Ruby und Python AtCoder AISING2020 D Iterative Square-Methode
Lösen mit Ruby, Perl, Java und Python AtCoder ATC 002 A.
[AtCoder Erklärung] Kontrollieren Sie ABC158 A, B, C Probleme mit Python!
Lösen mit Ruby, Perl, Java und Python AtCoder ATC 002 B.
[AtCoder Erklärung] Kontrollieren Sie ABC164 A, B, C Probleme mit Python!
[AtCoder Erklärung] Kontrollieren Sie ABC168 A, B, C Probleme mit Python!
Löse ABC163 A ~ C mit Python
Atcoder ABC125 C - GCD auf Tafel
Löse ABC168 A ~ C mit Python
Löse ABC167 A ~ C mit Python
Löse ABC158 A ~ C mit Python
[AtCoder-Kommentar] Gewinnen Sie mit Python das ABC165 C-Problem "Many Requirements"!
Lösen in Ruby, Python und Java AtCoder ABC141 D Priority Queue
[Erklärung zum AtCoder] Kontrollieren Sie die A-, B- und C-Probleme von ABC182 mit Python!
Atcoder ABC099 C - Separate Bank Separate Lösung
Lösen mit Ruby, Perl, Java und Python AtCoder AGC 033 Eine Suche mit Breitenpriorität
[AtCoder] Löse ABC1 ~ 100 Ein Problem mit Python
AtCoder ABC176
Lösen mit Ruby und Python AtCoder ABC172 C Kumulative Summen-Dichotomie
AtCoder ABC177
[AtCoder Erklärung] Kontrollieren Sie ABC184 A, B, C Probleme mit Python!
[Erklärung zum AtCoder] Kontrollieren Sie die A-, B-, (C), D-Probleme von ABC165 mit Python!
[AtCoder-Erklärung] Kontrollieren Sie die A-, B-, C- und D-Probleme von ABC183 mit Python!
Lösen mit Ruby und Python AtCoder ABC084 D Kumulative Summe der Primzahlen
Lösen mit Ruby, Perl, Java und Python AtCoder ARC 066 C Iterativer Square Hash
[Erklärung zum AtCoder] Kontrollieren Sie die A-, B-, C- und D-Probleme von ABC181 mit Python!
[AtCoder] Lösen Sie ein Problem von ABC101 ~ 169 mit Python
AtCoder ABC 098 C - Aufmerksamkeitsideen, die zur Antwort führen
AtCoder ABC 174 Python