[파이썬] 23969 알고리즘 수업 - 버블 정렬 2 n, k = map(int, input().split()) li = list(map(int, input().split())) for i in range(n - 1, 0, -1): for j in range(i): if li[j] > li[j + 1]: li[j], li[j + 1] = li[j + 1], li[j] k -= 1 if k == 0: print(*li) exit() print(-1) 정렬 Algorithm/boj 2022.08.25
[파이썬] 23968 알고리즘 수업 - 버블 정렬 1 n, k = map(int, input().split()) li = list(map(int, input().split())) for i in range(n - 1, 0, -1): for j in range(i): if li[j] > li[j + 1]: li[j], li[j + 1] = li[j + 1], li[j] k -= 1 if k == 0: print(f'{li[j]} {li[j + 1]}') exit() print(-1) 정렬 Algorithm/boj 2022.08.25
[파이썬] 1208 부분수열의 합 2 from itertools import combinations from bisect import bisect_left, bisect_right n, s = map(int, input().split()) li = list(map(int, input().split())) def find(li, s): return bisect_right(li, s) - bisect_left(li, s) def com(li): res = [] for i in range(1, len(li) + 1): for l in combinations(li, i): res.append(sum(l)) return sorted(res) left, right = li[:n // 2], li[n // 2:] com_left, com_right, =.. Algorithm/boj 2022.08.23
2-1. 네트워크 기초, TCP/IP 4계층 모델 네트워크 컴퓨터 등의 장치들이 통신 기술을 이용하여 구축하는 연결망 노드(서버, 라우터, 스위치 등 네트워크 장치)와 링크(유선, 무선)가 서로 연결되어 있거나 연결되어 있지 않은 집합체 처리량과 지연 시간 처리량 (throughput) 링크를 통해 전달되는 단위 시간당 데이터 양 단위 - bps(bits per second), 초당 전송/수신되는 비트 수 사용자들이 많이 접속할 때마다 커지는 트래픽, 네트워크 장치 간의 대역폭, 네트워크 중간에 발생하는 에러, 장치의 대역폭 주어진 시간 동안 네트워크 연결을 통해 흐를 수 있는 최대 비트 지연 시간 (latency) 요청이 처리되는 시간 메시지가 두 장치 사이를 왕복하는데 걸린 시간 매체 타입(무선, 유선), 패킷 크기, 처리 시간에 영향을 받음 네트워.. Dev/etc. 2022.08.18
[파이썬] 1068 트리 n = int(input()) li = list(map(int, input().split())) tree = [[] for _ in range(n)] root, count = 0, 0 rm = int(input()) for i in range(len(li)): if li[i] == -1: root = i elif i == rm: continue else: tree[li[i]].append(i) def dfs(node): global count if tree[node] == []: count += 1 for t in tree[node]: dfs(t) if rm == root: print(0) else: dfs(root) print(count) dfs Algorithm/boj 2022.08.18
[파이썬] 17069 파이프 옮기기 2 n = int(input()) board = [list(map(int, input().split())) for _ in range(n)] dp = [[[0] * 3 for _ in range(n)] for _ in range(n)] dp[0][1][0] = 1 for i in range(n): for j in range(1, n): if board[i][j - 1] != 1: dp[i][j][0] += dp[i][j - 1][0] if i > 0: dp[i][j][0] += dp[i][j - 1][2] if board[i - 1][j] != 1: dp[i][j][1] += dp[i - 1][j][1] if i > 0: dp[i][j][1] += dp[i - 1][j][2] if i > 0 and not .. Algorithm/boj 2022.08.12
[파이썬] 16566 카드 게임 from bisect import bisect_left n, m, k = map(int, input().split()) li = sorted(list(map(int, input().split()))) check = [0] * m card = list(map(int, input().split())) for c in card: cur = bisect_left(li, c) while check[cur] or li[cur] Algorithm/boj 2022.08.10
[파이썬] 1007 벡터 매칭 from itertools import combinations import sys input = sys.stdin.readline def colsum(mat): res = [0, 0] for m in mat: res[0] += m[0] res[1] += m[1] return res t = int(input()) for _ in range(t): n = int(input()) li = [list(map(int, input().split())) for _ in range(n)] ans, s = 1e9, colsum(li) com = combinations(li, n // 2) for c in com: cur = colsum(list(c)) ans = min(ans, ((2 * cur[0] - s[0]) **.. Algorithm/boj 2022.08.09
[파이썬] 4889 안정적인 문자열 i = 0 while True: i += 1 try: cur = input() if '-' in cur: break stack, count = 0, 0 for c in cur: if c == '{': stack += 1 else: if stack >= 1: stack -= 1 else: count += 1 stack += 1 print(f'{i}. {count + stack // 2}') except: break stack Algorithm/boj 2022.08.08