본문 바로가기
반응형

전체 글 목록571

[위상 정렬/파이썬] 백준 2623번 : 음악프로그램 / 골드2 https://www.acmicpc.net/problem/2623 2623번: 음악프로그램 첫째 줄에는 가수의 수 N과 보조 PD의 수 M이 주어진다. 가수는 번호 1, 2,…,N 으로 표시한다. 둘째 줄부터 각 보조 PD가 정한 순서들이 한 줄에 하나씩 나온다. 각 줄의 맨 앞에는 보조 PD가 담당한 www.acmicpc.net import collections n, m = map(int, input().split()) graph = collections.defaultdict(list) indegree = [0 for _ in range(n)] for _ in range(m): lst = list(map(int, input().split())) for i in range(2, lst[0]+1): a =.. 2022. 4. 4.
[다이나믹 프로그래밍 / 파이썬] 백준 2342번 : Dance Dance Revolution / 골드 3 https://www.acmicpc.net/problem/2342 2342번: Dance Dance Revolution 입력은 지시 사항으로 이루어진다. 각각의 지시 사항은 하나의 수열로 이루어진다. 각각의 수열은 1, 2, 3, 4의 숫자들로 이루어지고, 이 숫자들은 각각의 방향을 나타낸다. 그리고 0은 수열의 마 www.acmicpc.net command = list(map(int, input().split())) def score(a, b): if a == 0: return 2 if a == b: return 1 if abs(a-b) % 2 == 1: return 3 if abs(a-b) % 2 == 0: return 4 inf = 9876543210 # dp[i][left][right] dp = .. 2022. 4. 4.
[DFS / 파이썬] 백준 16724번 : 피리 부는 사나이 / 골드 2 https://www.acmicpc.net/problem/16724 16724번: 피리 부는 사나이 첫 번째 줄에 지도의 행의 수를 나타내는 N(1 ≤ N ≤ 1,000)과 지도의 열의 수를 나타내는 M(1 ≤ M ≤ 1,000)이 주어진다. 두 번째 줄부터 N개의 줄에 지도의 정보를 나타내는 길이가 M인 문자열이 주 www.acmicpc.net x_lim, y_lim = map(int, input().split()) table = [] for _ in range(x_lim): table.append([x for x in input()]) group = [[-1 for _ in range(y_lim)] for _ in range(x_lim)] direction = ['L', 'R', 'U', 'D'] d.. 2022. 4. 4.
[다이나믹 프로그래밍] 백준 11049번 : 행렬 곱셈 순서 / 골드 3 https://www.acmicpc.net/problem/11049 11049번: 행렬 곱셈 순서 첫째 줄에 입력으로 주어진 행렬을 곱하는데 필요한 곱셈 연산의 최솟값을 출력한다. 정답은 231-1 보다 작거나 같은 자연수이다. 또한, 최악의 순서로 연산해도 연산 횟수가 231-1보다 작거나 같 www.acmicpc.net n = int(input()) info = [] for _ in range(n): info.append(list(map(int, input().split()))) dp = [[0 for _ in range(n)] for _ in range(n+1)] for i in range(2, n+1): # i는 글자 수 for j in range(n-i+1): # j는 시작 인덱스 dp[i][j.. 2022. 4. 3.
[운영체제] 2단계 페이징 테이블 기법 알아보기 페이징 기법 일반적인 페이징 기법에서의 주소 변환은 아래 그림과 같다. 논리적 주소에서 p는 페이지번호, d는 페이지 오프셋을 의미한다. 하지만 페이징 기법은 물리적 메모리 낭비가 심하다는 단점을 가지고 있다. 32비트 주소 체계 = 2의 32승 = 4G의 주소 공간을 가진 프로그램 지원 가능 이때 총 필요 용량 = 4G * 1바이트 = 4GB 프로그램의 필요 용량 4GB 1개 페이지가 약 4KB일 때, 4GB / 4KB = 1M개의 페이지가 필요. 즉 페이지 테이블에는 1M개 엔트리가 필요. 엔트리 하나 당 4B를 차지한다면, 페이지 테이블의 용량은 4MB가 됨. 헉 4MB나?? => 페이지 테이블이 메모리의 상당 부분을 차지하게 된다. 그래서 2단계 페이징 테이블 기법이 고안되었다. 2단계 페이징 테.. 2022. 4. 1.
[다이나믹 프로그래밍] 백준 1509번 : 팰린드롬 분할 / 골드 1 https://www.acmicpc.net/problem/1509 1509번: 팰린드롬 분할 세준이는 어떤 문자열을 팰린드롬으로 분할하려고 한다. 예를 들어, ABACABA를 팰린드롬으로 분할하면, {A, B, A, C, A, B, A}, {A, BACAB, A}, {ABA, C, ABA}, {ABACABA}등이 있다. 분할의 개수의 최솟값을 출력하 www.acmicpc.net text = input() n = len(text) table = [[False for _ in range(n)] for _ in range(n)] for i in range(n): table[i][i] = True for i in range(n-1): if text[i] == text[i+1]: table[i][i+1] = Tr.. 2022. 3. 31.
반응형