728x90

Computer Science 403

백준 알고리즘] 10250 - ACM 호텔(ACM-ICPC 2014 인터넷 예선)

시간 제한 : 1초메모리 제한 : 256MB 문제ACM 호텔 매니저 지우는 손님이 도착하는 대로 빈 방을 배정하고 있다. 고객 설문조사에 따르면 손님들은 호텔 정문으로부터 걸어서 가장 짧은 거리에 있는 방을 선호한다고 한다. 여러분은 지우를 도와 줄 프로그램을 작성하고자 한다. 즉 설문조사 결과 대로 호텔 정문으로부터 걷는 거리가 가장 짧도록 방을 배정하는 프로그램을 작성하고자 한다. 문제를 단순화하기 위해서 호텔은 직사각형 모양이라고 가정하자. 각 층에 W 개의 방이 있는 H 층 건물이라고 가정하자 (1 ≤ H, W ≤ 99). 그리고 엘리베이터는 가장 왼쪽에 있다고 가정하자(그림 1 참고). 이런 형태의 호텔을 H × W 형태 호텔이라고 부른다. 호텔 정문은 일층 엘리베이터 바로 앞에 있는데, 정문에..

백준 알고리즘] 9012 - 괄호(ACM-ICPC 2012 인터넷 예선)

시간 제한 : 1초메모리 제한 : 128MB 문제괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 부른다. 한 쌍의 괄호 기호로 된 “( )” 문자열은 기본 VPS 이라고 부른다. 만일 x 가 VPS 라면 이것을 하나의 괄호에 넣은 새로운 문자열 “(x)”도 VPS 가 된다. 그리고 두 VPS x 와 y를 접합(concatenation)시킨 새로운 문자열 xy도 VPS 가 된다. 예를 들어 “(())()”와 “((()))” 는 VPS 이지만 “(()(”, “(())()))” , 그리고 “(()” 는 모두 VPS 가 아닌 문자열..

백준 알고리즘] 2156 - 포도주 시식

시간 제한 : 2 초메모리 제한 : 128 MB 문제효주는 포도주 시식회에 갔다. 그 곳에 갔더니, 테이블 위에 다양한 포도주가 들어있는 포도주 잔이 일렬로 놓여 있었다. 효주는 포도주 시식을 하려고 하는데, 여기에는 다음과 같은 두 가지 규칙이 있다. 포도주 잔을 선택하면 그 잔에 들어있는 포도주는 모두 마셔야 하고, 마신 후에는 원래 위치에 다시 놓아야 한다.연속으로 놓여 있는 3잔을 모두 마실 수는 없다.효주는 될 수 있는 대로 많은 양의 포도주를 맛보기 위해서 어떤 포도주 잔을 선택해야 할지 고민하고 있다. 1부터 n까지의 번호가 붙어 있는 n개의 포도주 잔이 순서대로 테이블 위에 놓여 있고, 각 포도주 잔에 들어있는 포도주의 양이 주어졌을 때, 효주를 도와 가장 많은 양의 포도주를 마실 수 있도..

백준 알고리즘] 1912 - 연속합

시간 제한 : 2 초메모리 제한 : 512 MB 문제n개의 정수로 이루어진 임의의 수열이 주어진다. 우리는 이 중 연속된 몇 개의 숫자를 선택해서 구할 수 있는 합 중 가장 큰 합을 구하려고 한다. 단, 숫자는 한 개 이상 선택해야 한다. 예를 들어서 10, -4, 3, 1, 5, 6, -35, 12, 21, -1 이라는 수열이 주어졌다고 하자. 여기서 정답은 12+21인 33이 정답이 된다. 입력첫째 줄에 정수 n(1≤n≤100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. 출력첫째 줄에 답을 출력한다. 소스코드 #include using namespace std; int DP(int list[], in..

백준 알고리즘] 2231 - 분해합(ACM-ICPC Seoul 2005)

시간 제한 : 2 초메모리 제한 : 128 MB 문제어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 된다. 따라서 245는 256의 생성자가 된다. 물론, 어떤 자연수의 경우에는 생성자가 없을 수도 있다. 반대로, 생성자가 여러 개인 자연수도 있을 수 있다. 자연수 N이 주어졌을 때, N의 가장 작은 생성자를 구해내는 프로그램을 작성하시오. 입력첫째 줄에 자연수 N(1≤N≤1,000,000)이 주어진다. 출력첫째 줄에 답을 출력한다. 생성자가 없는 경우에는 0을 출력한다. 소스코드 #include using namespace s..

ARM 프로세서 동작모드

프로세서가 프로그램 실행할 때 권한을 설정하며 6개의 특권 모드(Privileged Mode)와 1개의 사용자 모드(User Mode)로 총 7개의 동작모드가 존재함. Privileged Mode예외 처리, 시스템 자원에 접근하며, 아래 모드로 구성됨. - SystemOS를 위한 동작모드로 OS 커널 작업을 실행하며, 시스템 자원에 접근이 가능함. 예외 발생 없이 진입하며, User Mode와 동일한 레지스터 셋을 사용함. - Abort명령어, 데이터 메모리 접근에 오류가 발생하면 나오는 Abort 예외 발생 시 진입. 명령어 접근 오류(Pre-fetch abort)는 명령어 Pre-fetch 과정에서 발생하는 오류이며 데이터 접근 오류(Data abort)는 데이터 alignment, 가상 어드레스 변..

임베디드 OS - 실시간 OS

임베디드 OS 특성 범용 OS에 비해서 작은 크기로, 빠른 부팅, 저전력, 비 디스크 방식의 운용. 다양한 프로세서를 지원하고 빠른 응답 속도가 존재함. 메모리 기반의 파일/DB 시스템을 운영함. 목표 시스템에 따라서 구성이 변경 가능한 컴포넌트 기반 OS가 많이 사용됨. 실시간 OS의 특성 제한 시간 내 출력하고, 정시에 작업 수행이 가능한 환경. 예측 가능, 일정한 응답 시간 요구하는 응용 프로그램을 지원함. HW 자원 사용으로 시간 제한 극복. 우선 순위를 설정해 실행 시간 할당. - Hard real-time; 경성 실시간일정 시간 안에 작업을 처리해야 하며, 제한 시간을 넘길 경우 시스템 실행을 실패로 간주. 군사무기, 항공기 등에 적용. - Soft real-time; 연성 실시간제한 시간 초..

ARM에 대한 기초적인 지식

ARM;Advanced RISC Machine여러 회사의 투자를 통해 설립한 회사로 ARM 프로세서 코어를 IP(Intellectual Property;지적 재산권) 형태로 무수히 많은 반도체 제조 회사에 라이센싱함. 32 bit 임베디드 프로세서 시장의 70% 이상 차지하며, 저전력 고성능 퍼포먼스로 휴대용 장치에 많이 사용됨. 16 bit 명령어, Java 코드 가속, DSP 기능, 보안 기능을 제공함. - ARM CoreARM 프로세서의 명령어 셋을 실행가능한 HW로 이를 ARM 코어의 HW 구조를 ARM 구조라고도 함. ARM 시스템 코어가 구조와 성능 결정함. 하드 매크로 셀과 합성 가능한 코어로 제공. 하드 매크로 셀;Hard Macrocell(레이아웃 수준 설계, 설계 변경 불능, 코어 크기..

ARM 레지스터

일반 목적 30개PC(Program Counter) 1개상태 레지스터 6개(CPSR 1 + SPSR 5) CPSR : 현재 프로세서 상태를 저장, 모든 모드들이 공용으로 사용SPSR : 모드 변경 시 이전 모드의 상태값 저장, 예외 모드에 하나씩 주어짐 특수 레지스터 #Stack Point(SP) - 프로그램의 스택 위치를 저장하는 레지스터- ARM은 모드별 스택을 따로 사용해 모드별로 SP 필요 #Link Register(LR) - 서브루틴으로 분기할 때 되돌아 올 주소를 저장하기 위한 레지스터- 모드별로 할당 #Program Counter(PC) - 프로그램의 위치를 저장- 하나만 존재해 모든 모드가 공용 사용 상태 레지스터 - ARM의 상태를 저장하기 위한 레지스터 (CPSR 1개 + SPSR 5개..

백준 알고리즘] 13301 - 타일 장식물(KOI 2016 전국)

시간 제한 : 2 초메모리 제한 : 512 MB 문제대구 달성공원에 놀러 온 지수는 최근에 새로 만든 타일 장식물을 보게 되었다. 타일 장식물은 정사각형 타일을 붙여 만든 형태였는데, 한 변이 1인 정사각형 타일부터 시작하여 마치 앵무조개의 나선 모양처럼 점점 큰 타일을 붙인 형태였다. 타일 장식물의 일부를 그리면 다음과 같다. 그림에서 타일에 적힌 수는 각 타일의 한 변의 길이를 나타낸다. 타일 장식물을 구성하는 정사각형 타일 한 변의 길이를 안쪽 타일부터 시작하여 차례로 적으면 다음과 같다. 1, 1, 2, 3, 5, 8, ... 지수는 문득 이러한 타일들로 구성되는 큰 직사각형의 둘레가 궁금해졌다. 예를 들어, 처음 다섯개의 타일이 구성하는 직사각형(위에서 빨간색으로 표시한 직사각형)의 둘레는 26..

728x90