2023/03 4

[컴퓨터 구조]제 2장. 명령어(Instruction) : 컴퓨터의 언어

Instruction Instruction (명령어) Instruction은 processor(CPU)의 작동을 설명하는 가장 basic command입니다. 컴퓨터에게 일을 시키는 단위로, 기계어로 이루어진 명령입니다. (컴퓨터의 언어) 즉 하드웨어와 소프트웨어의 interfacing(인터페이싱)을 담당합니다. Instruction은 Opcode와 Operands로 이루어져 있습니다. Opcode (i.e., operation code) : 하드웨어가 어떤 작업을 할 지에 대한 명령어 -Operands : 하드웨어가 어떤 대상에 대해 작업을 할지에 대한 명령 add $2, $4, $2가 있을 때, add는 opcode가 되고 $2 $4 $2는 operand가 됩니다. 이것을 이진수로 나타내었을 땐 00..

컴퓨터구조 2023.03.17

[컴퓨터 구조] 제 1장. 컴퓨터 추상화 및 기술

Classes of Computers - Personal computers (PCs) 일반적인 목적과 다양한 소프트웨어 비용과 성능의 tradeoff을 필요로함. - Servers 보통 네트워크를 통해 연결됨. 높은 용량, 높은 성능, 그리고 높은 신뢰성 작은 것부터 빌딩 크기까지의 사이즈 Low-end : 작은 비즈니스나 웹서비스 High-end : 100~1000개의 프로세서와 테라바이트의 메모리 페타바이트의 저장소를 가지고 있는 슈퍼컴퓨터나 데이터센터 -Embedded computers 다른 장치 내부의 컴퓨터 Post-PC Era 현재 PC는 personal mobile devices(PMDs)로 대체되고 있습니다. 기존의 서버에서 cloud computing으로 넘어가고 있습니다. Post-PC..

컴퓨터구조 2023.03.16

boj 1781(컵라면)

틀린 코드 import sys input = sys.stdin.readline N = int(input()) arr = [] for _ in range(N): arr.append(tuple(int (x) for x in input().split())) arr.sort(key=lambda x: (x[0],-x[1])) sol = 0 a, b = arr[0][0],arr[0][1] sol+= arr[0][1] for i in range(1,len(arr)): if(arr[i][0]>a): a = arr[i][0] sol+=arr[i][1] print(sol) 반례: 9 5 5 4 6 4 12 3 8 4 18 2 10 2 5 1 7 1 14 -사고 과정- 위의 반례를 예시로 들면 저걸 내림차순으로 정렬을 합니..

문제풀이/백준 2023.03.01

boj 10775(공항)

틀린 코드 import sys input = sys.stdin.readline G = int(input()) P = int(input()) arr = [True]* G g = [] ans = 0 for _ in range(P): g.append(int(input())) for i in range(0,len(g)): req1 = g[i] sig=0 for j in range(req1-1,-1,-1): if(arr[j]==True): arr[j]=False ans+=1 sig=1 break if(sig==0): print(ans) exit() 처음 생각한 코드입니다. 하지만 이 코드는 거의 brute force와 같아 시간 복잡도가 너무 높고 실제로 백준에 제출하였을 때도 시간초과가 나오게 되었습니다. 코드..

문제풀이/백준 2023.03.01