――Weil ich Ruby bei der Arbeit benutze, habe ich hauptsächlich die Wettbewerbsprogrammierung mit Ruby gelöst, aber am nächsten Arbeitsplatz werde ich jeden Tag nach und nach Python üben, um Python zu verwenden und es in Qiita als Memorandum zu belassen. Das Thema ist Let Code.
Easy 1108.Defanging an IP Address --Zusammenfassung: Ersetzen. Durch [.]
"1.1.1.1"
"1[.]1[.]1[.]1"
class Solution:
def defangIPaddr(self, address: str) -> str:
return address.replace(".","[.]")
771.Jewels and Stones --Zusammenfassung: Zählen Sie, wie viele Buchstaben J in S sind
J = "aA", S = "aAAbbbb"
3
--Antwort 1: Verwenden Sie Zeichenfolgen wie Arraysclass Solution:
def numJewelsInStones(self, J: str, S: str) -> int:
cnt = 0
chars = list(J)
for e in chars:
cnt += S.count(e)
return cnt
--Antwort 2: Verwenden Sie Zeichenfolgen wie Arrays
für x in string:
class Solution:
def numJewelsInStones(self, J: str, S: str) -> int:
cnt = 0
for e in J:
cnt += S.count(e)
return cnt
--Antwort 3: Verwenden Sie eine anonyme Funktion ――Ich denke, dass Python Lambda eine Karte in Ruby ist.
Verarbeitung für Arrays (Map (Lambda-Variable: Verarbeitung für Variablen, Argumente))
class Solution:
def numJewelsInStones(self, J: str, S: str) -> int:
return sum(map(lambda x:S.count(x),J))
1281.Subtract the Product and Sum of Digits of an Integer --Zusammenfassung: Anzahl aller Ziffern multipliziert mit --- Anzahl aller hinzugefügten Ziffern
n = 234
15
--Antwort 1: Berechnen Sie als Array mit Lambda
--Erstellen Sie ein Zahlenfeld mit dem Lambda, an das Sie sich gerade erinnert haben. Mit Ruby können Sie sich sofort mit map und to_i vorstellen
--String => Integer: ** int **
--Integer => String: ** str **class Solution:
def subtractProductAndSum(self, n: int) -> int:
ary = list(map(lambda x: int(x), list(str(n))))
n = 1
m = 0
for i in ary:
n *= i
for j in ary:
m += j
ans = n - m
return ans
--Antwort 2: Berechnen als String-Array (Ausgefeilte Form von Antwort 1) --Verwenden Sie **; ** für mehrere Aufgaben
class Solution:
def subtractProductAndSum(self, n: int) -> int:
a, b = 0, 1
for i in str(n): a += int(i); b *= int(i)
return b - a
1221.Split a String in Balanced Strings
--Zusammenfassung: Wie viele Paare von R und L können unter der Bedingung erstellt werden, dass R und L die gleiche Anzahl von Zeichen haben müssen?
s = "RLRRLLRLRL"
4
--Antwort 1: Zählen Sie die Anzahl der Paare, indem Sie 1 setzen, wenn R erscheint, und -1, wenn L erscheint.
class Solution:
def balancedStringSplit(self, s: str) -> int:
r = 0
output = 0
for e in s:
if e == 'R':
r += 1
if e == 'L':
r -= 1
if r == 0:
output += 1
return output
Recommended Posts