코딩테스트 | python/백준

백준 단계별로 풀어보기(브루트 포스)

iemxl 2023. 6. 10. 19:18

#2798

n,m=map(int,input().split())
arr=list(map(int,input().split()))
def bf(n,m):
    result=0
    p1,p2,p3=0,1,2
    while p1!=(len(arr)-2): 
        total=(arr[p1]+arr[p2]+arr[p3])
        if total<=m:
            if total>=result:
                result=total
        p3+=1
        if p3==len(arr):
            p2+=1
            p3=p2+1
        if p2==len(arr)-1:
            p1+=1
            p2=p1+1
            p3=p1+2
    return result
print(bf(n,m))
# for 문 사용하는게 더 짧음

 

#2231

1)

n=int(input())
cnt=0
for i in range(n//2,n):
    t=list(map(int,str(i)))
    if sum(t)+i==n:
        print(i)
        cnt=1
        break
if cnt==0:
    print(0)

 

2)

n=input()
arr=[]
cnt=0
for i in n:
    arr.append(int(i))
n=int(n)
for j in range(n//2,n):
    result=j
    for k in range(len(arr)):
        result+=((j%(10**(k+1)))-(j%(10**k)))/(10**k)
    if n==result:
        print(j)
        cnt=1
        break
if cnt==0:
    print(0)

 

#19532

a,b,c,d,e,f=map(int,input().split())
if a==0:
    y=c/b
    x=(f-e*y)/d
else:
    y=(c*d-f*a)/(b*d-e*a)
    x=(c-b*y)/a
print(int(x),int(y))

 

#1018

 

 

#1436

n=int(input())
cnt=0
t=0
while n!=cnt:
    t+=1
    if "666" in str(t):
        cnt+=1
print(t)

 

#2839

n=int(input())
arr=[]
five=n//5
while five != -1:
    three=(n-five*5)//3
    if (n-five*5)%3==0:
        arr.append(five+three)
    five-=1
if len(arr)==0:
    print(-1)
else:
    print(min(arr))