PS/제코베 JS 100제
제코베 JS 100제 / 94 / 페이지 교체 - LRU 알고리즘
LRU 알고리즘이란 페이지 교체 알고리즘으로써, Least Recently Used의 약자입니다. 즉 페이지 부재가 발생했을 경우 가장 오랫동안 사용되지 않은 페이지를 제거하는 알고리즘입니다. 이 알고리즘의 기본 가설은 가장 오랫동안 이용되지 않은 페이지는 앞으로도 사용할 확률이 적다는 가정하에 페이지 교체가 진행됩니다. 다음 그림을 참고해주세요. 메모리의 크기가 i로 주어지고 들어올 페이지들이 n으로 주어졌을 때, 전체 실행시간을 구해주세요. 만약 스택 안에 같은 스케줄이 있다면 hit 이라고 하며 실행시간은 1초 입니다. 스택 안에 스케줄이 없다면 miss 라고 하며 실행시간은 6초 입니다. 예제 1번을 보면 페이지 프레임의 개수는 3개이고 스케줄은 'BCBAEBCE' 입니다. 5번의 miss를 기록..
제코베 JS 100제 / 93 / 페이지 교체 - 선입선출 알고리즘
페이지 교체 알고리즘은 메모리를 관리하는 운영체제에서, 페이지 부재가 발생하여 새로운 페이지를 할당하기 위해 현재 할당된 페이지 중 어느 것을 교체할지를 결정하는 방법입니다. 이 알고리즘이 사용되는 시기는 페이지 부재(Page Fault)가 발생해 새로운 페이지를 적재해야 하지만 페이지를 적재할 공간이 없어 이미 적재되어 있는 페이지 중 교체할 페이지를 정할 때 사용됩니다. 빈 페이지가 없는 상황에서 메모리에 적재된 페이지와 적재할 페이지를 교체함으로 페이지 부재 문제를 해결할 수 있습니다. 이 중 선입선출(FIFO) 알고리즘은 가장 먼저 들어와서 가장 오래있었던 페이지를 우선으로 교체시키는 방법을 의미합니다. 아래의 그림을 참고해주세요. 메모리의 크기가 i로 주어지고 들어올 페이지들이 n으로 주어졌을 ..
제코베 JS 100제 / 92 / 키보드 고장
P 회사의 회계를 처리하던 은정은 커피를 마시다가 키보드에 커피를 쏟고 말았습니다. 휴지로 닦고 말려보았지만 숫자 3, 4, 6이 도통 눌리지 않습니다. 10분 뒤, 모든 직원들에게 월급을 입금해 주어야 합니다. 여유 키보드는 없으며, 프로그래밍을 매우 잘하고, 모든 작업을 수작업으로 하고 있습니다. 이에 눌리지 않는 키보드를 누르지 않고 월급 입금을 두 번에 나눠주고 싶습니다. 1. 직원은 2000명이며, 3초 이내 수행을 해야합니다. 2. 입력값의 형식은 csv파일형식이며 이과장,'3,000,000','S은행','100-0000-0000-0000' 형식으로 주어집니다. 3. 출력값의 형식은 csv파일형식이며 이과장,'1,500,000','1,500,000','S은행','100-0000-0000-000..
제코베 JS 100제 / 91 / 반평균 등수
한 반에 30명인 학생, 총 7개의 반 점수가 '국어, 영어, 수학, 사회, 과학' 순서로 있는 다중 리스트를 랜덤 한 값으로 만들어주시고 아래 값을 모두 출력하세요. 1. 반 점수 모두가 담긴 전교 점수 다중 리스트를 만들어주세요. 2. 반 평균을 구하세요. 3. 반 1등 점수를 구하세요. 4. 전교 평균을 구하세요. (출력 형식은 상관없습니다.) /** * 반의 수, 학생 수, 과목 수가 담긴 객체를 받아 랜덤으로 * 반 점수 모두가 담긴 전교 점수 다중 리스트를 만드는 함수 * * @param {Object} INFO_OBJ 반의 수, 학생 수, 과목 수가 담긴 객체 * @returns {number[][][]} 각 반으로 나누어진 리스트 return */ function makeRandomScor..
제코베 JS 100제 / 90 / 같은 의약 성분을 찾아라!
의약품 성분이 총 8개인 약품들이 있습니다. 예를 들어 다음 데이터는 총 8개의 성분을 갖습니다. 판콜비 = 'ABCDEFGH' 넥타이레놀 = 'EFGHIJKL' 특정 약품 A의 성분이 공개되었을 때, 이와 유사한 성분을 가진 데이터들의 출력을 구하는 문제입니다. 입력 : 'ABCDEFGH' 4 데이터 : 'EFGHIJKL', 'EFHGIJKM', 'EFGHIJKZ' 등 1만 개의 데이터 출력 : 'EFGHIJKL', 'EFGHIJKM', 'EFGHIJKZ' 등 4개의 요소가 같은 약품 전부(4개 이상이 아니며 같은 요소가 4개인 것을 출력해야 합니다.) * 해당 문제는 시간제한이 있습니다. * 제약 데이터의 성분은 중복이 될 수 없습니다. (예를 들어 'AAABBBAB'와 같은 데이터는 없습니다.) /..
제코베 JS 100제 / 89 / 지식이의 게임 개발 2
제코베의 도움을 받아 성공적으로 지도를 만들어낸 지식이는 캐릭터의 움직임을 구현했습니다. 하지만 지도 위의 캐릭터 위치를 나타내는데 문제가 발생했습니다. 지식이는 지도 위에서 캐릭터의 위치를 나타내기 위해 다시 한번 제코베에 도움을 요청합니다. 지도 위에서 캐릭터의 위치를 나타내주세요 1. 지도는 88번 문제의 해답을 사용해 주세요 2. 입력값은 지도, 캐릭터의 움직임입니다. 3. 캐릭터의 움직임은 { 상:1, 하:2, 좌:3, 우:4 }로 정수로 이루어진 배열이 들어갑니다. 4. 벽과 장애물은 통과할 수 없습니다. 5. 마지막 캐릭터의 위치를 반영한 지도를 보여주고 위치를 반환하는 함수를 작성해 주세요. /** * 지도의 크기, 장애물의 위치, 캐릭터의 위치를 입력받아 * 게임 지형을 완성해 출력해주는..