프로그래밍

·컴퓨터 구조
명령어와 MIPS0과 1만 아는 기계가 어떻게 영어로 작성된 C 코드를 이해할까?C 코드 한 줄이 실제로 CPU에 의해 처리되기까지, 더 나아가 컴퓨터의 구조에 대해 알아보자. 컴퓨터 하드웨어와 소통하기 위해 명령어(instruction)라는 것이 존재한다. 이러한 명령어는 하나가 아닌 여러 개가 존재하므로 이를 묶어서 명령어 집합(instruction set)이라고 한다. 명령어 집합은 여러 종류가 있지만 교육용으로 많이 쓰이는 MIPS를 사용해 컴퓨터 구조를 이해해보자. MIPS(Microprocessor without Interlocked Pipeline Stages)는 1980년대 스탠퍼드 대학교에서 개발된 RISC(Reduced Instruction Set Computer) 아키텍처 기반의 명령..
1. 문제 난이도 2. 문제설명 괄호가 정상적으로 포함된 어떤 수식이 주어졌을 때, 괄호를 제거해서 만들 수 있는 식을 사전순에 맞게 출력하는 문제이다. 괄호가 포함된 식에서 사전 순 이라고 하면 아스키 값 기준으로 괄호가 더 우선이라고 생각하면 된다. 괄호가 포함된 수식 괄호를 제거해 만들 수 있는 모든 경우의 식 3. 아이디어 먼저 input을 한글자씩 쪼개 괄호를 맞는 쌍끼리 짝지었다. 스택에 여는 괄호 '('를 하나씩 저장하고 ')'를 만날 때 하나씩 스택에서 꺼내 짝을 지었다. 구해놓은 괄호 쌍들에 대해 각각 그 괄호쌍을 제거한 리스트, 괄호쌍을 포함한 리스트를 얻었다. 문제를 풀면서 내가 시간이 오래 걸렸던 부분은 총 3가지가 있었다. 1. 모든 조합을 구하기 이부분은 재귀함수로 구현했다. 2..
1. 문제 난이도 2. 문제설명 정상에서부터 산을 따라 내려오는 자전거의 속력을 각 구간별로 출력하는 문제이다. 산의 능선은 길이와 각도가 다른 선분으로 이루어져 있다. 첫 줄: 구간의 길이 n과 중력가속도 g가 공백으로 구분되어 주어진다. 그 후 n줄: 구간의 길이, 수직선으로부터 구간의 각도가 공백으로 구분되어 n줄에 걸쳐 주어진다. 각 구간이 끝나는 지점에서의 속력을 n줄에 걸쳐 출력한다. 3. 아이디어 이 문제의 경우 속력을 구하기 위해 사용하기 적절한 공식은 우리가 물리 시간에 들었던 $2as=v^2 -{v_0}^2$이다. 물체의 운동에 관한 시간이 나와있지 않으므로 시간 항이 없는 공식이 적절하다고 생각했다. 문제에서 제시되어 있듯이 비탈을 내려오는 물체의 가속도는 $g cos\left( \t..
1. 문제 난이도 2. 문제설명 피보나치 수열이 변형된 듯한 수열을 소개하고 이 수열의 N번째 항을 구하는 문제이다. 첫 줄: 테스트케이스의 개수 t 다음 t줄: n 각 input n에 대해 수열의 n째 값 3. 아이디어 다른 수열문제처럼 DP를 활용하는 것은 쉽게 생각할 수 있다. 그러나 입력의 개수가 많기 때문에 나는 입력 받은 값들 중 가장 큰 값을 구한 뒤, 그 값까지의 수열을 먼저 구했다. 그 후 각 입력에 맞는 수열의 값을 출력했다. 4. 구현 nlist=[1,1,2,4] def func(n): return nlist[n-1]+nlist[n-2]+nlist[n-3]+nlist[n-4] inputlist=[] t=int(input()) for i in range(t): inputlist.appe..
1.문제 난이도 2.문제설명 2xn직사각형을 1x2, 2x2 타일로 채우는 경우의 수를 구하는 문제이다. 백준 11727번 - 2xn 타일링 2 백준 11727번 - 2xn 타일링 2 1. 문제 난이도 2. 문제설명 2 x n 크기의 직사각형을 1x2, 2x1, 2x2타일로 채우는 방법의 수를 구하는 문제이다. 이전 글에서 다뤘던 문제와 거의 비슷하다. 2x2타일이 추가되었지만 똑같은 풀이방식 april2901.tistory.com 바로 전에 올린 글과 문제는 똑같다. 이 문제에는 1x2타일이라고 되어있지만 예시를 보면 회전까지 가능하다는 것을 알 수 있다. INPUT: 여러 개의 테스트케이스, 각각 한줄씩 OTPUT: 각각의 INPUT마다 경우의 수 출력 3. 아이디어 전 문제와 같으므로 점화식을 바로..
1. 문제 난이도 2. 문제설명 2 x n 크기의 직사각형을 1x2, 2x1타일로 채우는 방법의 수를 구하는 문제이다. INPUT : n (1
CSE
'프로그래밍' 태그의 글 목록