분류 전체보기(222)
-
2장 - 운영체제 개요 : 운영체제 분류
운영체제의 분류 동시 작업을 지원하는지 여부에 따른 단일작업과 다중작업 OS 1) 단일작업용 운영체제와 다중작업용 운영체제 - 단일작업용 운영체제 : 한 번에 하나의 프로그램만 실행 가능 ex) 초창기 운영체제(DOS 환경) - 다중작업용 운영체제 : 동시에 2개 이상의 프로그램을 처리할 수 있는 다중작업 지원 ex) MS 윈도우, 유닉스 환경 2) 시분할 시스템 - CPU 다중작업을 처리할 때에는 여러 프로그램이 CPU와 메모리를 공유하게 되는데, CPU가 하나밖에 없어서 매 순간 하나의 프로그램만 CPU 점유가 가능하다. 하지만 CPU 처리 속도가 워낙 빨라 수 밀리초(ms) 이내의 짧은 시간 규모로 여러 프로그램들이 CPU에서 번갈아 실행되어 여러 프로그램들이 동시에 실행되는 것 처럼 보임 3) 다..
2022.05.23 -
Project4 - Flask
보호되어 있는 글입니다.
2022.05.23 -
2장 - 운영체제 개요 : 운영체제 정의
운영체제의 정의 OS(Operating System : 운영체제)는 컴퓨터 하드웨어 바로 윗단에 설치되는 SW로, 사용자 및 다른 모든 SW를 하드웨어와 연결하는 소프트웨어 계층이다. 하드웨어는 운영체제와 함께 쓰일때 우리가 흔히 사용하는 컴퓨터 시스템이 될 수 있다. 따라서 컴퓨터를 동작시키기 위해서 OS는 필수적인 요소이다. 소프트웨어가 컴퓨터 시스템에서 실행되기 위해서 메모리에 그 프로그램(실행시킬 소프트웨어)이 올라가있어야한다. 마찬가지로 운영체제 자체도 하나의 소프트웨어이기 때문에 전원이 켜짐과 동시에 메모리에 올라간다. 그런데 메모리는 한정되어있기 때문에 운영체제와 같은 규모가 큰 프로그램이 메모리에 올라가게 된다면 메모리 낭비가 심각해진다. 따라서 전원이 켜지면 필요한 부분만 메모리에 올려두..
2022.05.13 -
16234 - 인구 이동
다음은 테스트케이스 4번을 대상으로 시각화한 것이다. from collections import deque N, L, R = map(int, input().split()) graph = [] for _ in range(N): temp = list(map(int, input().split())) graph.append(temp) dx = [1, 0, -1, 0] dy = [0, 1, 0, -1] result = 0 def bfs(ox, oy, curNum): global union, L, R, graph # 연결되어있는 영역을 모아둔 리스트 connectedList =[] connectedList.append((ox, oy)) # 경계를 확장 할 수 있는 영역들이 q에 들어오면서 최대 어디까지 뻗어갈 수 ..
2022.05.13 -
15684 - 사다리조작
이 문제 풀이를 보니 bfs, dp로 푼사람들이 많던데... 아직 bfs로 생각하는 로직이 익숙하지 않다보니 무지성으로 dfs로 풀어버렸다. bfs, dp에 대한 익숙도를 높일 필요가 있어보인다. 어쨌든 처음에 TC를 통과하고 나서 제출하니 시간초과가 나왔다. 정말 시간초과가 제일 싫은게...논리적으로는 다 맞는데 여기서 효율성까지 따져야하니 어디서 고쳐야할지 아직은 감이 안 선다. ㅎㅎㅎ 일단 아래 코드는 통과한 코드이며, 시간초과를 해결한 방법 3가지를 정리해보았다. 시간초과 원인 1 dfs에서 모든 경우의 수를 탐색하다가 시간초과 나는 것을 방지하고자, 만약 문제에서 요구하는 "n번 시작 = n번 종료"인 경우에는 result를 True로 두고 더 이상 depth를 높여 탐색하지 않도록 하였다. 시..
2022.05.11 -
15686 - 치킨배달
# 도시의 치킨 거리 = 모든 치킨 거리의 합 # 총 치킨집의 개수 - M 의 도시 치킨 거리가 최소값이 되도록 # 0 : 빈칸, 1 : 집, 2 : 치킨집 def chkDistance(graph, house): distance = [float("inf")] * len(house) for i in range(N): for j in range(N): if graph[i][j] == 2: for idx, home in enumerate(house): distance[idx] = min(distance[idx], abs(home[0]-i) + abs(home[1]-j)) return sum(distance) # 치킨집 삭제 def dfs(graph, cnt): global minLoad if cnt == (c..
2022.05.10