"꾸준하고 완벽한 한 걸음"

2024/10 10

[백준 11729] 하노이 탑 이동 순서 [Python]

문제세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 옮기려 한다.한 번에 한 개의 원판만을 다른 탑으로 옮길 수 있다.쌓아 놓은 원판은 항상 위의 것이 아래의 것보다 작아야 한다.이 작업을 수행하는데 필요한 이동 순서를 출력하는 프로그램을 작성하라. 단, 이동 횟수는 최소가 되어야 한다.아래 그림은 원판이 5개인 경우의 예시이다.입력첫째 줄에 첫 번째 장대에 쌓인 원판의 개수 N (1 ≤ N ≤ 20)이 주어진다.출력첫째 줄에 옮긴 횟수 K를 출력한다.두 번째 줄부터 수행 과정을 출력한다. 두 번째 줄부터 K개의 줄에 걸쳐 두 정수 A B를 빈칸을 사이에 두고 ..

[백준 10427] 빛 [Java]

문제민균이에게는 ‘빚쟁이’ 라는 별명이 있다. 이 별명은 악덕 사채업을 하는 김우현연구소에서 민균이가 빌린돈을 잘 갚지 않는다고 하여 붙여준 이름이다. 민균이가 최근 N (1 ≤ N ≤ 4000) 번 돈을 빌렸고, 그때마다 빌린 돈이 각각 A(1), A(2), …, A(N) (1 ≤ A(i) ≤ 104) 라고 하자. 악덕 사채업소 김우현 연구소는 이름만큼이나 빌린 돈을 갚는 방식이 독특하다.먼저, 김우현 연구소가 민균이에게 M번 (1 ≤ M ≤ N) 의 빚을 갚으라고 명령하면, 민균이는 N번중 아무렇게나 M 번을 고르고, 고른 것 중에서 가장 많은 돈을 빌렸을 때 빌린돈 x M 을 갚아야 한다. 이렇게 하면 민균이가 김우현 연구소에 갚아야 하는 돈은 (빌린돈 + 추가적으로 더 갚아야 할 돈) 이 된다. ..

[쉽게 배우는 운영체제] 5장 연습문제 정답

01. 통신 방식 중 동기화를 지원하는 단방향 통신 방식은?공유 메모리파이프공유 파일소켓02. 통신 방식 중 서로 다른 컴퓨터에 있는 프로세스 간 통신에 사용하는 방식은?공유 메모리파이프공유 파일소켓03. 통신 기기 중 반양방향(half duplex) 통신에 해당하는 것은?무전기모르스 부호전화무선 공유기04. 파일 관련 함수에서 파일에 접근할 수 있는 권한을 주는 함수는?open()close()read()write()05. 파일 관련 함수에서 파일에 접근할 수 있는 권한을 돌려주는 함수는?open()close()read()write()06. 인터넷에서 하나의 포트를 여러 프로세스가 공유할 수 있도록 만든 장치는?데몬소켓IP 주소HTTPD07. 소켓 관련 함수에서 데이터를 보내는 함수는?socket()cl..

CS 2024.10.20

[쉽게 배우는 운영체제] 4장 연습문제 정답

01. 시스템 내에서 동시에 실행 가능한 프로세스의 총 개수를 결정하는 단계는?단기 스케줄링중간 수준 스케줄링고수준 스케줄링저수준 스케줄링02. 저수준 스케줄링이 원만하게 이루어지도록 완충 역할을 하는 단계는?장기 스케줄링중간 수준 스케줄링고수준 스케줄링작업 스케줄링03. 활성화된 프로세스의 실제 진행을 담당하는 단계는?작업 스케줄링중간 수준 스케줄링고수준 스케줄링저수준 스케줄링04. 비선점형 스케줄링과 비교하여 선점형 스케줄링에 대한 설명으로 옳지 않은 것은?비선점형에 비하여 우선순위가 낮다.실행 상태에 있는 작업을 중단시키고 새로운 작업을 실행할 수 있다.문맥 교환의 오버헤드가 많다.시분할 방식 스케줄러에 사용된다.05. 나머지 3개와 비교하여 우선순위가 높은 프로세스는?일괄 처리 프로세스사용자 프로..

CS 2024.10.20

[쉽게 배우는 운영체제] 3장 연습문제 정답

01. 실행을 위해 메모리에 올라온 동적인 상태를 가리키는 것은?소스코드프로세스프로그램PCB02. 프로세스를 실행하는 데 필요한 정보를 보관하는 자료구조는?stackPCqueuePCB03. 프로세스가 CPU를 할당받기 전에 기다리는 상태는?실행 상태준비 상태대기 상태생성 상태04. 실행 상태의 프로세스가 입출력을 요구하면 이동하는 상태는?완료 상태준비 상태대기 상태생성 상태05. 대기 상태의 프로세스가 입출력이 완료되면 이동하는 상태는?실행 상태준비 상태완료 상태생성 상태06. 실행 상태의 프로세스가 작업이 안 끝났음에도 타임 슬라이스 아웃이 걸려 이동하게 되는 상태는?완료 상태준비 상태대기 상태생성 상태07. PCB가 제거되는 상태는?완료 상태준비 상태대기 상태생성 상태08. CPU 스케줄러에 의하여 ..

CS 2024.10.14

[쉽게 배우는 운영체제] 2장 연습문제 정답

01 데이터의 이동 통로를 나타내는 것은?입력장치CPU출력장치버스02 CPU와 메모리 등 다양한 부품을 연결하고 전원을 공급해 주는 커다란 판을 나타내는 것은?메인메모리USB 드라이브메인보드SSD03 Fist In, First Out의 자료구조는?큐(queue)배열(array)연결 리스트(linked list)스택(stack)04 First In, First Out의 자료구조는?queuearraylinked liststack05 동적 메모리 할당을 사용하여 공간 관리가 편리한 자료구조는?큐배열연결 리스트스택06 폰노이만 구조에서 모든 프로그램은 ( )에 올라와야 실행할 수 있다.하드디스크메인메모리마우스키보드07 요리사 모형의 도마(작업 공간)와 가장 관련이 높은 것은?프로세스CPU저장장치메모리08 1초당..

CS 2024.10.14

[백준 01654] 랜선 자르기 [Python]

문제집에서 시간을 보내던 오영식은 박성원의 부름을 받고 급히 달려왔다. 박성원이 캠프 때 쓸 N개의 랜선을 만들어야 하는데 너무 바빠서 영식이에게 도움을 청했다.이미 오영식은 자체적으로 K개의 랜선을 가지고 있다. 그러나 K개의 랜선은 길이가 제각각이다. 박성원은 랜선을 모두 N개의 같은 길이의 랜선으로 만들고 싶었기 때문에 K개의 랜선을 잘라서 만들어야 한다. 예를 들어 300cm 짜리 랜선에서 140cm 짜리 랜선을 두 개 잘라내면 20cm는 버려야 한다. (이미 자른 랜선은 붙일 수 없다.)편의를 위해 랜선을 자르거나 만들 때 손실되는 길이는 없다고 가정하며, 기존의 K개의 랜선으로 N개의 랜선을 만들 수 없는 경우는 없다고 가정하자. 그리고 자를 때는 항상 센티미터 단위로 정수길이만큼 자른다고 가..

[백준 10816] 숫자 카드 2 [Python]

문제숫자 카드는 정수 하나가 적혀져 있는 카드이다. 상근이는 숫자 카드 N개를 가지고 있다. 정수 M개가 주어졌을 때, 이 수가 적혀있는 숫자 카드를 상근이가 몇 개 가지고 있는지 구하는 프로그램을 작성하시오.입력첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,000,000보다 작거나 같다.셋째 줄에는 M(1 ≤ M ≤ 500,000)이 주어진다. 넷째 줄에는 상근이가 몇 개 가지고 있는 숫자 카드인지 구해야 할 M개의 정수가 주어지며, 이 수는 공백으로 구분되어져 있다. 이 수도 -10,000,000보다 크거나 같고, 10,000,0..

[쉽게 배우는 운영체제] 1장 연습문제 정답

01 소프트웨어는 ( )과 시스템 소프트웨어로 나뉜다. 괄호에 들어갈 적당한 용어는?응용 프로그램운영체제유틸리티문서 작성 소프트웨어02 운영체제의 주요 역할과 가장 거리가 먼 것은?인터페이스 제공컴퓨터 자원 관리그래픽 사용자원을 숨김03 운영체제의 목표와 가장 거리가 먼 것은?효율성복잡성안정성확장성04 운영체제의 구성 요소가 아닌 것은?유틸리티GUI드라이버커널05 나머지 셋과 종류가 다른 것은?드라이버GUI셸명령 프롬프트06 운영체제의 핵심 기능을 모아놓은 것은?유틸리티사용자 인터페이스디바이스 드라이버커널07 초기의 컴퓨터이며 전선을 바꿔 프로그래밍하는 시스템은?하드와이어링 시스템 (hard wiring system)일괄 작업 시스템 (batch job system)시분할 시스템 (time sharing..

CS 2024.10.12