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