본문 바로가기
728x90

Study72

컴퓨터 구조 - 0과 1로 숫자를 표현하는 방법 비트 0과 1로 표현할 수 있는 가장 작은 정보 단위 n비트는 $2^n$ 가지 정보를 표현할 수 있다. 워드 CPU가 한 번에 처리할 수 있는 데이터 크기를 의미한다. CPU가 한 번에 16비트를 처리할 수 있다면, 1워드는 16비트이고, 한 번에 32비트를 처리할 수 있다면, 1워드는 32비트가 되는 것이다. 하프 워드 : 정의된 워드의 절반 크기 더블 워드 : 정의된 워드의 2배 크기 이진법 0과 1만으로 숫자를 표현하는 방법 1을 넘어가는 시점에 자리를 올림하여 0과 1만으로 모든 수를 표현하는 방법 이진수 끝에 아래첨자 (2)를 붙이거나 이진수 앞에 0b를 붙여 십진수와의 혼동을 예방한다 이진수의 음수 표현 1의 보수 모든 이진수의 0과 1을 뒤집은 수 2의 보수 0과 1만으로 음수를 표현하는 방.. 2023. 7. 1.
컴퓨터 구조 - 컴퓨터 구조의 4가지 핵심 부품 컴퓨터가 이해하는 정보 데이터 : 컴퓨터가 이해하는 숫자, 문자, 이미지, 동영상과 같은 정적인 정ㅈ보 명령어 : 데이터를 움직이고 컴퓨터를 작동시키는 정보 컴퓨터의 4가지 핵심 부품 중앙처리장치(CPU) 주기억장치(메모리) 보조기억장치 입출력장치 이 4가지의 핵심 부품들은 메인보드에 부착되며, 메인보드 내에는 시스템 버스가 있어 핵심 부품들이 정보를 주고받는다. CPU 메모리에 저장된 명령어를 읽어 들이고, 해석하고, 실행한느 부품 산술논리연산장치(ALU), 레지스터, 제어장치 등으로 구성되어 있다. ALU : 컴퓨터 내부에서 수행되는 계산을 수행한다. 레지스터 : CPU 내부의 임시 저장 장치이다. CPU 안에는 여러 레지스터가 존재하고, 각기 다른 이름과 역할을 가지고 있다. 제어장치 : 제어 신호.. 2023. 7. 1.
[백준] 1940 - 연속합 Python https://www.acmicpc.net/problem/1912 import sys input = sys.stdin.readline N = int(input()) num = list(map(int, input().rstrip().split(" "))) dp = [0] * N dp[0] = num[0] for i in range(1, N): dp[i] = max(num[i], dp[i - 1] + num[i]) print(max(dp)) 2023. 6. 29.
[백준] 11660 - 구간 합 구하기 5 Python https://www.acmicpc.net/problem/11660 11660번: 구간 합 구하기 5 첫째 줄에 표의 크기 N과 합을 구해야 하는 횟수 M이 주어진다. (1 ≤ N ≤ 1024, 1 ≤ M ≤ 100,000) 둘째 줄부터 N개의 줄에는 표에 채워져 있는 수가 1행부터 차례대로 주어진다. 다음 M개의 줄에는 네 www.acmicpc.net import sys input = sys.stdin.readline graph = [] N, M = map(int, input().split(" ")) dp = [[0] * (N + 1) for _ in range(N + 1)] for i in range(N): A = list(map(int, input().rstrip().split(" "))) grap.. 2023. 6. 28.
[백준] 18428 - 감시 피하기 Python https://www.acmicpc.net/problem/18428 18428번: 감시 피하기 NxN 크기의 복도가 있다. 복도는 1x1 크기의 칸으로 나누어지며, 특정한 위치에는 선생님, 학생, 혹은 장애물이 위치할 수 있다. 현재 몇 명의 학생들은 수업시간에 몰래 복도로 빠져나왔는데, 복 www.acmicpc.net import sys input = sys.stdin.readline def backtracking(cnt): global flag if cnt == 3: if bfs(): flag = True return else: for i in range(N): for j in range(N): if graph[i][j] == "X": graph[i][j] = "O" backtracking(cnt +.. 2023. 6. 28.
[백준] 11053 - 가장 긴 증가하는 부분 수열 Python https://www.acmicpc.net/problem/11053 11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net import sys input = sys.stdin.readline N = int(input()) M = list(map(int, input().split(" "))) dp = [1] * N for i in range(N + 1): for j in range(i, N): if M[i] < M[j]: dp[j] = max.. 2023. 6. 27.
728x90