전체 글

[ADV_db]Chap 1. 물리적 저장 장치 시스템-2
# 플래시 메모리 NOR Flash NAND Flash 주로 저장장치로 사용된다 NOR Flash 보다 싸다 Read 한 번 실행될 경우 Page(보통 4kb)만큼 읽어온다. 쓰기보다 빠르다. 순차적 접근과 임의 접근의 큰 차이가 없다. 디스크보다 훨씬 빠르고, Write나 Erase보다도 빠르다. Write 한번 쓰여진 곳은 덮어쓰지 못하기 때문에 Erase가 실행된 후 다시 쓸 수 있다. Erase 읽고 쓰는 과정은 모두 Page단위로 이루어 지지만, 지우는 과정은 128-256개 정도의 Page로 이루어진 Block 단위로 진행된다. 지우는 횟수는 제한되어 있어 이를 넘으면 오류가 발생할 수 있다. 특정 블록만 Erase가 많이 일어나지 않도록 Wear-Leveling이라는 평등화 작업을 한다. 읽..

[ADV_db]Chap 1. 물리적 저장 장치 시스템
# 저장 장치 개요 Volatile Primary storage 바이트 단위의 랜덤 접근이 가능하다. 캐시 메모리 메인 메모리 Non-Volatile 블록 단위의 연속적인 접근만 가능하다. Secondary storage(on-line storage) 플래시 메모리 Magnetic-disk Tertiary storage(off-line storage) Optical storage Tape storage 저장장치를 고르는 요소 스피드 가격 Reliability(저장 신뢰성) # 저장 인터페이스 표준 디스크 인터페이스 SATA SAS NVme SAN NAS # 하드 디스크 매커니즘 Platter별로 50K-100K개 정도의 Track을 가지고 있다. 그리고 Track별로 읽고 쓸 수 있는 가장 작은 단위인 ..
[백준]7568-덩치
https://www.acmicpc.net/problem/7568 7568번: 덩치 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩 www.acmicpc.net num = int(input()) size = [] for _ in range(num): x,y = map(int,input().split()) size.append([x,y]) for i in range(num): count=0 for j in range(num): if((size[i][0] < size[j][0]) and (size[i][1] < size[j][1])): count..
[백준]10866 - 덱
https://www.acmicpc.net/problem/10866 10866번: 덱 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net from collections import deque import sys lines = int(input()) deque = deque() for _ in range(lines): inp = sys.stdin.readline().split() if(inp[0] == "push_front"): deque.appendleft(inp[1]) elif(inp[0] == "push_back..
[백준]2775-부녀회장이 될테야
https://www.acmicpc.net/problem/2775 times = int(input()) for _ in range(times): floor = int(input()) unit = int(input()) stats = [i+1 for i in range(unit)] for i in range(1,floor+1): for j in range(1,unit): stats[j] = stats[j-1]+stats[j] print(stats[-1])
[백준]11866-요세푸스 문제
https://www.acmicpc.net/problem/11866 11866번: 요세푸스 문제 0 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net size,interval = map(int,input().split()) result = [] interval = interval -1 l = [i+1 for i in range(size)] cur = 0 while(len(l) != 0): ncur = cur + interval if(ncur = len(l)): while(ncur >= len(l)): n..