본문 바로가기
728x90

Study72

[백준] 15486 - 퇴사 2 Python https://www.acmicpc.net/problem/15486 15486번: 퇴사 2 첫째 줄에 N (1 ≤ N ≤ 1,500,000)이 주어진다. 둘째 줄부터 N개의 줄에 Ti와 Pi가 공백으로 구분되어서 주어지며, 1일부터 N일까지 순서대로 주어진다. (1 ≤ Ti ≤ 50, 1 ≤ Pi ≤ 1,000) www.acmicpc.net 정답 코드 import sys input = sys.stdin.readline N = int(input()) dp = [0] * (N + 1) T = [0] * (N + 1) P = [0] * (N + 1) for i in range(N): t, p = map(int, input().split(" ")) T[i + 1] = t P[i + 1] = p for i in .. 2023. 7. 7.
[백준] 2295 - 세 수의 합 Python https://www.acmicpc.net/problem/2295 2295번: 세 수의 합 우리가 x번째 수, y번째 수, z번째 수를 더해서 k번째 수를 만들었다라고 하자. 위의 예제에서 2+3+5=10의 경우는 x, y, z, k가 차례로 1, 2, 3, 4가 되며, 최적해의 경우는 2, 3, 4, 5가 된다. k번째 수가 최 www.acmicpc.net import sys # N개의 자연수 중 x, y, z 3개의 수를 뽑아서 x+y+z인 d가 N개의 포함되는 경우 중 가장 큰 d를 찾아라 # x+y+z=d > x+y=d-z input = sys.stdin.readline res = 0 #가장 큰 D N = int(input()) arr = [int(input()) for _ in range(N)].. 2023. 7. 4.
[백준] 14940 - 쉬운 최단거리 Python https://www.acmicpc.net/problem/14940 14940번: 쉬운 최단거리 지도의 크기 n과 m이 주어진다. n은 세로의 크기, m은 가로의 크기다.(2 ≤ n ≤ 1000, 2 ≤ m ≤ 1000) 다음 n개의 줄에 m개의 숫자가 주어진다. 0은 갈 수 없는 땅이고 1은 갈 수 있는 땅, 2는 목표지점이 www.acmicpc.net import sys from collections import deque input = sys.stdin.readline def bfs(x, y): dx = [-1, 1, 0, 0] dy = [0, 0, 1, -1] queue = deque() queue.append((x, y)) visited[x][y] = 1 res[x][y] = 0 while qu.. 2023. 7. 4.
컴퓨터 구조 - ALU와 제어장치 ALU 레지스터로부터 피연산자를 받아들이고, 제어장치로부터 제어 신호를 받아들임. 연산한 결괏값과 플래그를 내보냄. 플래그 : 연산 결과에 대한 추가적인 정보 부호 플래그, 제로 플래그, 캐리 플래그, 오버플로우 플래그, 인터럽트 플래그, 슈퍼바이저 플래그 등 플래그 레지스터에 저장됨 ALU 내부에는 여러 계산을 위한 회로들이 존재 제어장치 제어 신호를 내보내고, 명령어를 해석하는 부품 제어 신호 : 컴퓨터 부품들을 관리하고 작동시키기 위한 일종의 전기 신호 제어장치가 받아들이는 정보들 클럭 신호 : 클럭이란 컴퓨터의 모든 부품을 일사분란하게 움직일 수 있게 하는 시간 단위를 의미 해석해야 할 명령어 : CPU가 해석해야 할 명령어는 명령어 레지스터라는 특별한 레지스터에 저장 플래그 레지스터 속 플래그 .. 2023. 7. 4.
컴퓨터 구조 - 명령어의 구조 명령어의 구조 연산 코드 : 명령어가 수행할 연산 (=연산자) 오퍼랜드 : 연산에 사용될 데이터가 저장된 위치 (=피연산자) 연산 코드가 담기는 영역을 연산 코드 필드, 오퍼랜드가 담기는 영역을 오퍼랜드 필드라고 한다. 오퍼랜드 (=주소 필드) '연산에 사용할 데이터' 또는 '연산에 사용할 데이터가 저장된 위치'를 의미 대부분의 경우에는 후자가 저장되어 메모리 주소나 레지스터 이름이 담김 오퍼랜드 명령어 안에 하나도 없을 수도 있고(0-주소 명령어), 한 개만 있을 수도 있고(1-주소 명령어), 두 개(2-주소 명령어) 또는 세 개(3-주소 명령어) 등 여러 개가 있을 수 있다. 연산 코드 연산 코드의 종류 데이터 전송 : MOVE , STORE, LOAD(FETCH) 등 산술/논리 연산 : ADD, S.. 2023. 7. 2.
컴퓨터 구조 - 소스 코드와 명령어 고급 언어 컴퓨터가 이해하는 언어가 아닌 사람이 이해하고 작성하기 쉽게 만들어진 언어 저급 언어 컴퓨터가 직접 이해하고 실행할 수 있는 언어 고급 언어로 작성된 소스 코드가 실행되려면 반드시 저급 언어로 변환되어야 함 종류 : (1) 기계어 (2) 어셈블리어 기계어 0과 1의 명령어 비트로 이루어진 언어 어셈블리어 0과 1로 이루어진 기계어를 읽기 편한 형태로 번역한 저급 언어 컴파일 언어와 인터프리터 언어 개발자들이 고급 언어로 작성한 소스 코드는 저급 언어로 변환되어 실행되어야 한다. 변환 방법 : (1) 컴파일 방식 (2) 인터프리터 방식 컴파일 언어 컴파일러에 의해 소스 코드 전체가 저급 언어로 변환되어 실행되는 고급 언어 컴파일 : 코드 전체가 저급 언어로 변환되는 과정 컴파일러 : 컴파일 과정.. 2023. 7. 2.
728x90