[Python] Programmieren, um die Nummer von a in einer Zeichenfolge zu finden, die eine bestimmte Anzahl von Malen wiederholt.

[Python] Programmieren, um die Nummer von a in einer Zeichenfolge zu finden, die eine bestimmte Anzahl von Malen wiederholt

▼ Frage

--List gibt eine Zeichenfolge beliebiger Länge an

URL

▼sample input

python


s ="aba"
n =10

▼sample output

python


7

image


abaabaabaa <-7 a

▼my answer

python


def repeatedString(s, n):
    a = s.count("a")
    ans=i=0    
    
    #Finden Sie die Nummer eines in den überschüssigen Zeichen enthaltenen
    r = n%len(s)
    if r!=0:
        while i<r:
            if s[i]=="a":
                ans += 1
            i+=1
            
    ans += a*int(n/len(s)) 
    return ans    
            

if __name__ == '__main__':
    fptr = open(os.environ['OUTPUT_PATH'], 'w')
    s = input()
    n = int(input())
    result = repeatedString(s, n)
    fptr.write(str(result) + '\n')
    fptr.close()

Die obige while-Anweisung kann durch "for i in range (r)" ersetzt werden.

Ersetzen Sie während mit für


def repeatedString(s, n):
    a = s.count("a")
    ans=0    
    
    #Finden Sie die Anzahl der Iterationen(math.Verwenden Sie keinen Boden)
    r = n%len(s)
    if r!=0:
        for i in range(r):
            if s[i]=="a":
                ans += 1
            
    ans += a*int(n/len(s)) 
    return ans    
            
repeatedString(s, n)

#### Machen Sie die if-Anweisung zu einem Satz und schreiben Sie sie in die Einschlussnotation um.

▼ Verarbeitung

--Extrahieren Sie das Element aus der Satzliste s mit überschüssigen Zeichennummern und erstellen Sie eine Liste, in der 1 für a und 0 für andere Fälle gespeichert sind.

Einschlussnotation


def repeatedString(s, n):
    a = s.count("a")
    ans=0    
    
    #Finden Sie die Anzahl der Iterationen(math.Verwenden Sie keinen Boden)
    r = n%len(s)
    if r!=0:
        ans =  sum([(1 if s[i]=="a" else 0) for i in range(r)])
             
    ans += a*int(n/len(s)) 
    return ans    
            
repeatedString(s, n)

Ergänzung: MemoryError

Ich habe eine wiederholte Zeichenfolge für die angegebene Anzahl von Zeichen erstellt und die Anzahl von a daraus gezählt, aber wenn die Anzahl groß ist, tritt ein Speicherfehler auf.

python


s ="babbaabbabaababaaabbbbbbbababbbabbbababaabbbbaaaaabbaababaaabaabbabababaabaabbbababaabbabbbababbaabb"
n = 860622337747

▼ Das Auffinden einer Zeichenkette ist schwierig.

python


def repeatedString(s, n):
    #Fortschritt (Mathe).Boden wird nicht benutzt)
    if float(n/len(s)):
        r = int(n/len(s)) +1
    else:
        r = n/len(s)
    
    #Fragen Sie nach einer Schnur
    ans = x = 0
    ss = s*r
    for letter in ss:
        x += 1
        if x>n:
            break
        elif letter == "a":
            ans += 1
    return ans
            
repeatedString(s, n)

#MemoryError:

Recommended Posts

[Python] Programmieren, um die Nummer von a in einer Zeichenfolge zu finden, die eine bestimmte Anzahl von Malen wiederholt.
Teilt die Zeichenfolge durch die angegebene Anzahl von Zeichen. In Ruby und Python.
Finden Sie die scheinbare Breite einer Zeichenfolge in Python heraus
Wie kann man schnell die Häufigkeit des Auftretens von Zeichen aus einer Zeichenfolge in Python zählen?
[Python] Ein Programm, um die Anzahl der Äpfel und Orangen zu ermitteln, die geerntet werden können
Finden Sie die Anzahl der Tage in einem Monat
[Python] Ein Programm, das die Anzahl der gepaarten Socken berechnet
[Einführung in Python] Eine ausführliche Erklärung der in Python verwendeten Zeichenkettentypen!
Überprüfen Sie, ob die Zeichenfolge eine Zahl in Python ist
So ermitteln Sie die Anzahl der Stellen in Python
"Buch, um Programmierkenntnisse zu trainieren, um in der Welt zu kämpfen" Python-Code Lösungsbeispiel --1.1 Doppelte Zeichenfolge
[Python] So erweitern Sie Variablen in einer Zeichenfolge
#Eine Funktion, die den Zeichencode einer Zeichenfolge zurückgibt
Python-Version (PHP zu Python), die die nachfolgende Zeichenfolge aus der angegebenen Zeichenfolge (Erweiterung) löscht
So ermitteln Sie den Koeffizienten der ungefähren Kurve, die in Python durch die Scheitelpunkte verläuft
Ein Python-Skript, das die Anzahl der Jobs für eine bestimmte Bedingung von Indeed.com abruft
Wie identifiziere ich das Element mit der geringsten Anzahl von Zeichen in einer Python-Liste?
[Ansible] Beispiel für ein Playbook, das der ersten Zeile der Datei eine Zeichenkette hinzufügt
[Python] Ein Programm, das die kürzeste Anzahl von Schritten in einem Spiel findet, das Wolken überquert
[Python] Lassen Sie nur Elemente im Array, die mit einer bestimmten Zeichenfolge beginnen
Suchen Sie eine Richtlinie für die Anzahl der Prozesse / Threads, die auf dem Anwendungsserver festgelegt werden sollen
So finden Sie das erste Element, das den Kriterien in der Python-Liste entspricht
So finden Sie die optimale Anzahl von Clustern für k-means
Holen Sie sich die Anzahl der spezifischen Elemente in der Python-Liste
Python - Ermitteln Sie die Anzahl der Gruppen im regulären Ausdruck
Finden Sie die Eigenwerte einer reellen symmetrischen Matrix in Python
Beispiel für die Antwort auf den Python-Code --1.2 Zählen Sie die Anzahl der gleichen Zeichen
Ruft den Wert eines bestimmten Schlüssels bis zum angegebenen Index der Wörterbuchliste in Python ab
Wenn sich eine Zeichenfolge einer bestimmten Reihe im Schlüssel des Wörterbuchs befindet, wird die Zeichenfolge in den Wert des Wörterbuchs konvertiert.
So bestimmen Sie die Existenz eines Selenelements in Python
[Einführung in Python] So geben Sie eine Zeichenfolge in einer Print-Anweisung aus
So überprüfen Sie die Speichergröße einer Variablen in Python
So überprüfen Sie die Speichergröße eines Wörterbuchs in Python
Eine Funktion, die die Verarbeitungszeit einer Methode in Python misst
Ein Skript, das 0, 1 an die erste Python-Primzahl zurückgibt
[Python] Ein Hinweis, dass ich das Verhalten von matplotlib.pyplot zu verstehen begann
[Python] Eine einfache Funktion zum Ermitteln der Mittelkoordinaten eines Kreises
[Python] Ein Programm, das den Inhalt der Liste nach links dreht
Holen Sie sich die Anzahl der Leser von Artikeln über Mendeley in Python
[Python] So invertieren Sie eine Zeichenfolge
Zusammenfassung des Zeichenkettenformats in Python3 Gibt an, ob mit dem alten oder dem neuen Modell gelebt werden soll
[Python] Ein Programm, das die Anzahl der Schokoladensegmente berechnet, die die Bedingungen erfüllen
Mayungos Python Learning Episode 6: Ich habe versucht, eine Zeichenkette in eine Zahl umzuwandeln
[Python] So fügen Sie eine beliebige Anzahl von Standardeingaben in die Liste ein
Ich möchte das Ergebnis von "Zeichenfolge" .split () in Python stapelweise konvertieren
Ich möchte einen Teil der Excel-Zeichenfolge mit Python einfärben
Die eval () -Funktion, die eine Zeichenfolge als Ausdruck in Python berechnet
[Einführung in Python] So schreiben Sie eine Zeichenfolge mit der Formatierungsfunktion
Ich habe ein Programm erstellt, um die Größe einer Datei mit Python zu überprüfen
"Buch, um die Programmierfähigkeit zu trainieren, um in der Welt zu kämpfen" Python-Code-Antwortbeispiel --1.9 Drehung der Zeichenkette
Zählen Sie, wie oft zwei Werte gleichzeitig in einem Element vom Typ Python 3-Iterator angezeigt werden
4 Methoden zum Zählen der Anzahl von Ganzzahlen in einem bestimmten Intervall (einschließlich der imos-Methode) [Python-Implementierung]
[Abgeschlossene Version] Versuchen Sie, die Anzahl der Einwohner der Stadt anhand der Adressliste mit Python herauszufinden
So geben Sie eine Zeichenfolge in Python ein und geben sie unverändert oder in die entgegengesetzte Richtung aus.
Erstellen Sie einen Bot, der die Anzahl der Personen, die für das neue Corona-Virus in Tokio positiv sind, an Slack sendet
Eine Geschichte über das Erstellen eines Programms, mit dem die Anzahl der Instagram-Follower in einer Woche von 0 auf 700 erhöht wird
Geben Sie die Anzahl der CPU-Kerne in Python aus
Einbetten von Variablen in Python-Strings
Holen Sie sich den Aufrufer einer Funktion in Python