diff --git "a/\354\235\264\355\213\260\354\230\210\354\233\220/10026_\354\240\201\353\241\235\354\203\211\354\225\275.py" "b/\354\235\264\355\213\260\354\230\210\354\233\220/10026_\354\240\201\353\241\235\354\203\211\354\225\275.py" new file mode 100644 index 0000000..2cd39c7 --- /dev/null +++ "b/\354\235\264\355\213\260\354\230\210\354\233\220/10026_\354\240\201\353\241\235\354\203\211\354\225\275.py" @@ -0,0 +1,51 @@ +from collections import deque + +def BFS(x,y): + q.append((x,y)) + dx = [-1,0,1,0] + dy = [0,1,0,-1] + visited[x][y] = 1 + while q: + x, y = q.popleft() + for d in range(4): + nx = x + dx[d] + ny = y + dy[d] + + # 범위 안에 있고 + # 같은 색이고 + # 방문 안한 경우 + if 0<=nx end: + return end + + mid = (start + end) // 2 + length = lan_length(mid) + if length >= N: + return program(mid+1, end, N) + else: + return program(start, mid-1, N) + +print(program(1, end, N)) diff --git "a/\354\235\264\355\213\260\354\230\210\354\233\220/1931_\355\232\214\354\235\230\354\213\244 \353\260\260\354\240\225.py" "b/\354\235\264\355\213\260\354\230\210\354\233\220/1931_\355\232\214\354\235\230\354\213\244 \353\260\260\354\240\225.py" new file mode 100644 index 0000000..9c8e5c1 --- /dev/null +++ "b/\354\235\264\355\213\260\354\230\210\354\233\220/1931_\355\232\214\354\235\230\354\213\244 \353\260\260\354\240\225.py" @@ -0,0 +1,21 @@ +N = int(input()) +time = [] + + +for i in range(N): + start, end = map(int, input().split()) + time.append([start, end]) + + +time = sorted(time, key = lambda a : a[0]) +time = sorted(time, key = lambda a : a[1]) + +finish = 0 +cnt = 0 + +for start, end in time: + if start >= finish: + cnt += 1 + finish = end + +print(cnt) diff --git "a/\354\235\264\355\213\260\354\230\210\354\233\220/2579_\352\263\204\353\213\250 \354\230\244\353\245\264\352\270\260.py" "b/\354\235\264\355\213\260\354\230\210\354\233\220/2579_\352\263\204\353\213\250 \354\230\244\353\245\264\352\270\260.py" new file mode 100644 index 0000000..c72bac9 --- /dev/null +++ "b/\354\235\264\355\213\260\354\230\210\354\233\220/2579_\352\263\204\353\213\250 \354\230\244\353\245\264\352\270\260.py" @@ -0,0 +1,17 @@ +import sys +input = sys.stdin.readline + +n = int(input()) +s = [0 for i in range(301)] +dp = [0 for i in range(301)] + +for i in range(n): + s[i] = int(input()) + +dp[0] = s[0] +dp[1] = s[0] + s[1] +dp[2] = max(s[1] + s[2], s[0] + s[2]) +for i in range(3, n): + dp[i] = max(dp[i-3] + s[i-1] + s[i], dp[i-2] + s[i]) + +print(dp[n-1]) diff --git "a/\354\235\264\355\213\260\354\230\210\354\233\220/2606_\353\260\224\354\235\264\353\237\254\354\212\244.py" "b/\354\235\264\355\213\260\354\230\210\354\233\220/2606_\353\260\224\354\235\264\353\237\254\354\212\244.py" new file mode 100644 index 0000000..7c0c54a --- /dev/null +++ "b/\354\235\264\355\213\260\354\230\210\354\233\220/2606_\353\260\224\354\235\264\353\237\254\354\212\244.py" @@ -0,0 +1,24 @@ +from collections import deque + +computer = int(input()) +v = int(input()) +graph = [[] for i in range(computer+1)] +visited = [0]*(computer+1) + +for i in range(v): + a, b = map(int, input().split()) + graph[a] += [b] + graph[b] += [a] + + +visited[1] = 1 +Q = deque([1]) + +while Q: + c = Q.popleft() + for nx in graph[c]: + if visited[nx]==0: + Q.append(nx) + visited[nx]=1 + +print(sum(visited)-1) diff --git "a/\354\235\264\355\213\260\354\230\210\354\233\220/2606_\353\260\224\354\235\264\353\237\254\354\212\244_DFS.py" "b/\354\235\264\355\213\260\354\230\210\354\233\220/2606_\353\260\224\354\235\264\353\237\254\354\212\244_DFS.py" new file mode 100644 index 0000000..3adef27 --- /dev/null +++ "b/\354\235\264\355\213\260\354\230\210\354\233\220/2606_\353\260\224\354\235\264\353\237\254\354\212\244_DFS.py" @@ -0,0 +1,21 @@ +#DFS + +computer=int(input()) +v=int(input()) + +graph = [[] for i in range(computer+1)] +visited=[0]*(computer+1) + +for i in range(v): + a,b=map(int,input().split()) + graph[a]+=[b] + graph[b]+=[a] + +def dfs(v): + visited[v]=1 + for nx in graph[v]: + if visited[nx]==0: + dfs(nx) + +dfs(1) +print(sum(visited)-1) diff --git "a/\354\235\264\355\213\260\354\230\210\354\233\220/2839_\354\204\244\355\203\225 \353\260\260\353\213\254.py" "b/\354\235\264\355\213\260\354\230\210\354\233\220/2839_\354\204\244\355\203\225 \353\260\260\353\213\254.py" new file mode 100644 index 0000000..2bedec3 --- /dev/null +++ "b/\354\235\264\355\213\260\354\230\210\354\233\220/2839_\354\204\244\355\203\225 \353\260\260\353\213\254.py" @@ -0,0 +1,24 @@ +N = int(input()) +bag = 0 + +while N >= 0: + + # 봉지 수를 최소로 만들기 위해서 + # 5kg 봉지 수를 최대로 + # 3kg 봉지 수를 최소로 만들어야 함 + + # 5의 배수인 경우 + if N % 5 == 0: + bag += int(N // 5) + print(bag) + break + + # 5의 배수가 아닌 경우 + # 5의 배수로 만들기 위해서 + N -= 3 # 배달 해야 하는 설탕 -3kg + bag += 1 # 가져가야하는 봉지 수 +1 + # 1. 5의 배수가 될 때까지 + # 2. 또는 정확하게 N킬로그램으로 만들 수 없음이 확인될 때 까지 반복 + +else: + print(-1)