1405_미친로봇 (Java)
·
알고리즘
문제 통제 할 수 없는 미친 로봇이 평면위에 있다. 그리고 이 로봇은 N번의 행동을 취할 것이다. 각 행동에서 로봇은 4개의 방향 중에 하나를 임의로 선택한다. 그리고 그 방향으로 한 칸 이동한다. 로봇이 같은 곳을 한 번보다 많이 이동하지 않을 때, 로봇의 이동 경로가 단순하다고 한다. (로봇이 시작하는 위치가 처음 방문한 곳이다.) 로봇의 이동 경로가 단순할 확률을 구하는 프로그램을 작성하시오. 예를 들어, EENE와 ENW는 단순하지만, ENWS와 WWWWSNE는 단순하지 않다. (E는 동, W는 서, N은 북, S는 남) 입력 첫째 줄에 N, 동쪽으로 이동할 확률, 서쪽으로 이동할 확률, 남쪽으로 이동할 확률, 북쪽으로 이동할 확률이 주어진다. N은 14보다 작거나 같은 자연수이고, 모든 확률은 ..
[04] 운영체제 - 프로세스와 스레드
·
컴퓨터 구조와 운영 체제
프로세스 실행중인 프로그램 프로그램이 메모리에 적재되고 실행되는 순간 프로세스라고 부름 포그라운드 프로세스와 백그라운드 프로세스 포그라운드 프로세스 사용자가 보는 앞에서 실행되는 프로세스 백그라운드 프로세스 사용자가 보지 못하는 뒤에서 실행되는 프로세스 사용자와 직접 상호작용하지 않는 백그라운드 프로세스를 '데몬', 윈도우에서는 '서비스'라고 함프로세스 제어 블록 (P C B) 운영체제가 빠르게 번갈아 수행되는 프로세스의 순서를 관리하고 CPU를 비롯한 자원 배분을 위해 사용하는 블록 프로세스와 관련된 정보를 저장하는 자료 구조 프로세스 식별을 위한 꼭 필요한 정보가 저장됨 프로세스 생성 시 만들어지고, 실행이 끝나면 폐기 PCB에 담기는 정보는 다음과 같다. 프로세스 ID (PID) 특정 프로세스를 식..
[03] 운영 체제
·
컴퓨터 구조와 운영 체제
운영체제 시스템 자원 모든 프로그램은 하드웨어를 필요로 함 이 때, 프로그램 실행에 필요한 요소들을 시스템 자원 또는 자원이라고 함 운영체제 실행할 프로그램에 필요한 자원을 할당 프로그램이 올바르게 실행되도록 돕는 특별한 프로그램 사용자 영역과 커널 영역 커널영역 컴퓨터 부팅시 메모리 내 생성되는 공간, 운영체제가 적재되어 실행 사용자 영역 커널 영역을 제외한 나머지 영역 사용자가 이용하는 응용 프로그램이 적재 응용 프로그램 사용자가 특정 목적을 위해 사용하는 일반적인 프로그램 운영체제의 역할 프로그램을 메모리에 적재 실행되지 않는 프로그램을 메모리에서 삭제 위와 같은 과정으로 지속적으로 메모리 관리 예시 정부가 국가를 관리하기 위해, 관리 부서를 여러개로 나누어 나라의 자원을 관리한다. 이와 마찬가지로..
1759_암호만들기 (Java)
·
알고리즘
문제 바로 어제 최백준 조교가 방 열쇠를 주머니에 넣은 채 깜빡하고 서울로 가 버리는 황당한 상황에 직면한 조교들은, 702호에 새로운 보안 시스템을 설치하기로 하였다. 이 보안 시스템은 열쇠가 아닌 암호로 동작하게 되어 있는 시스템이다. 암호는 서로 다른 L개의 알파벳 소문자들로 구성되며 최소 한 개의 모음(a, e, i, o, u)과 최소 두 개의 자음으로 구성되어 있다고 알려져 있다. 또한 정렬된 문자열을 선호하는 조교들의 성향으로 미루어 보아 암호를 이루는 알파벳이 암호에서 증가하는 순서로 배열되었을 것이라고 추측된다. 즉, abc는 가능성이 있는 암호이지만 bac는 그렇지 않다. 새 보안 시스템에서 조교들이 암호로 사용했을 법한 문자의 종류는 C가지가 있다고 한다. 이 알파벳을 입수한 민식, 영..