La deuxième question passée que j'ai déjà résolue
Que ce soit divisible par 4 est OK avec les 2 derniers chiffres
answerA.py
r,g,b=map(int,input().split())
if (10*g+1*b)%4==0:
print("YES")
else:
print("NO")
Si vous utilisez également l'opérateur ternaire
answerA_better.py
r,g,b=map(int,input().split())
print("YES" if (10*g+1*b)%4==0 else "NO")
Coordonnées minimales → Les coordonnées maximales sont naturellement minimales
answerB.py
n=input()
a=[int(i) for i in input().split()]
print(max(a)-min(a))
Cela peut être plus simple que lorsque je l'ai écrit auparavant. Normalement, vous pouvez écrire les correspondants dans l'ordre à partir de l'avant. Cependant, si tous sont 3200 ou plus, le minimum sera 1, alors faites attention uniquement là-bas.
answerC.py
x=[0]*9
n=int(input())
a=[int(i) for i in input().split()]
for i in range(n):
for j in range(8):
if a[i]<400*(j+1):
x[j]=1
break
else:
x[8]+=1
if x[:-1].count(1)!=0:
print(x[:-1].count(1),end=" ")
else:
print(1,end=" ")
print(x[:-1].count(1)+x[-1])
Quand je l'ai résolu pour la première fois, j'ai trouvé cela vraiment difficile. En bref, il suffit qu'une paire de ** "(" et ")" existe en paire **. Pour qu'une paire de "(" et ")" existe en tant que paire, le nombre de "(" doit toujours être supérieur à ")" et le nombre de "(" et ")" doivent être identiques. Lorsque vous commencez à penser à des choses comme l'imbrication, cela se complique. Afin de rendre le nombre de parenthèses ** cohérent comme ceci, vous devriez penser comme une pile **! !! ** Si vous voulez penser comme une pile, vous pouvez vérifier avec +1 et -1 sans avoir à vous soucier de la tasser ** (le nombre correspond à la taille de la pile)
answerD.py
n=int(input())
s=input()
if s[0]=="(":
c=1
d=1
else:
c=-1
d=-1
for i in range(1,n):
if s[i]=="(":
d+=1
else:
d-=1
c=min(c,d)
if c<0:
s="("*(-c)+s
print(s+")"*(s.count("(")-s.count(")")))
Recommended Posts