파이썬 15649번 파이썬 (백트레킹 by dfs) def dfs(): if len(arr)== m: print(" ".join(map(str, arr))) return for i in range(1,n+1): if i in arr: continue arr.append(i) dfs() arr.pop() n,m = map(int,input().split()) arr=[] dfs() 백준 풀이 2022.08.28
백준 1002번 파이썬 t= int(input()) for _ in range(t): x1,y1,r1,x2,y2,r2=map(int,input().split()) d = ((x1-x2)**2+(y1-y2)**2)**(1/2) if d==0 and r1==r2: print(-1) elif abs(r1-r2)==d or r1+r2 == d: print(1) elif abs(r1-r2) 백준 풀이 2022.08.28
백준 1002번 파이썬 t= int(input()) for _ in range(t): x1,y1,r1,x2,y2,r2=map(int,input().split()) d = ((x1-y1)**2+(x2-y2)**2)**(1/2) if x1 == x2 and y1 == y2 and r1 ==r2: print(-1) elif abs(r1-r2)==d or r1+r2 == d: print(1) elif abs(r1-r2) 백준 풀이 2022.08.28
백준 1932번 파이썬 (dp) n=int(input()) a=[] for i in range(n): a.append(list(map(int,input().split()))) for i in range(1,n): for j in range(i+1): if j==0: a[i][j]+=a[i-1][j] elif i==j: a[i][j]+=a[i-1][j-1] else: a[i][j]+=max(a[i-1][j],a[i-1][j-1]) print(max(a[n-1])) 백준 풀이 2022.08.28
백준 10773번 파이썬 (deque) from collections import deque n=int(input()) a=[] arr=deque() for _ in range(n): a.append(int(input())) for i in a: if i==0: arr.pop() else: arr.append(i) print(sum(arr)) 백준 풀이 2022.08.28
백준 11053번 파이썬 (dp) n= int(input()) a=list(map(int,input().split())) dp=[0]*(n) for i in range(n): for j in range(i): if dp[i]a[j]: dp[i]=dp[j] dp[i]+=1 print(max(dp)) 백준 풀이 2022.08.28
백준 1697번 파이썬 bfs from collections import deque def bfs(): queue=deque() queue.append(n) while queue: a=queue.popleft() if a==k: print(arr[a]) break for na in (a-1,a+1,a*2): if 0 백준 풀이 2022.08.28
백준 1931 파이썬 n=int(input()) a=[] for _ in range(n): a.append(list(map(int,input().split()))) a.sort(key=lambda x:(x[1],x[0])) end=a[0][1] cnt=1 for i in range(1,n): if a[i][0]>=end: end = a[i][1] cnt+=1 print(cnt) 백준 풀이 2022.08.28
백준 1012번 파이썬 bfs from collections import deque t=int(input()) dx=[1,-1,0,0] dy=[0,0,1,-1] def bfs(graph,x,y): graph[x][y]=0 queue=deque() queue.append((x,y)) while queue: x,y = queue.popleft() for i in range(4): nx=x+dx[i] ny=y+dy[i] if nx>=n or nx 백준 풀이 2022.08.28
백준 1149번 파이썬 dp n=int(input()) arr=[] for _ in range(n): arr.append(list(map(int,input().split()))) for i in range(1,n): arr[i][0]+=min(arr[i-1][1],arr[i-1][2]) arr[i][1]+=min(arr[i-1][0], arr[i-1][2]) arr[i][2]+=min(arr[i-1][1],arr[i-1][0]) print(min(arr[n-1][0],arr[n-1][1],arr[n-1][2])) 규칙 찾아서 점화식 만들고 그대로 코드로 백준 풀이 2022.08.28