[개발 서적] 명품 운영체제 1장 연습문제 풀이 및 답안 (개념체크)
·
개발 서적/명품 운영체제
생능출판사 명품 운영체제본 연습문제들은 작성자 본인이 푼 것이라 틀릴 수 도 있습니다. [개념 체크]1. 운영체제의 기능과 거리가 먼 것은?정답 및 해설)정답: 4번해설: 책 19~20페이지를 살펴보면 운영체제의 기능에 관한 내용이 나오지만 거기서 컴파일에 대한 내용은 없다. 2. 운영체제의 특징과 동떨어진 내용은?정답 및 해설)정답: 1번해설: 운영체제는 컴퓨터의 자원을 독점하고 관리한다. 3. 고정 프로그래밍 방식을 설명하는 것으로 틀린 것은?정답 및 해설)정답: 2번해설: 고정 프로그래밍 방식을 운영체제라고 말하기엔 무리가 있다. 책에선 최초의 운영체제를 1955년 GM OS를 최초의 원시 운영체제로 보고 있으므로 2번이 틀렸다. 4. 모바일 운영체제의 특징이 아닌 것은?정답 및 해설)정답: 3번해..
백준 / 보물 / 1026번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 보물 / 1026번 (실버 4단계)문제 사이트: https://www.acmicpc.net/problem/1026 문제 설명 나의 풀이n = map(int, input().split())a = list(map(int, input().split()))b = list(map(int, input().split()))result = 0a.sort()b.sort(reverse = True)for i, j in zip(a, b): result += i * jprint(result)※ 알아야 할 것문제 조건은 단, B에 있는 수는 재배열하면 안 된다. 라고 적혀있지만 B에 있는 수를 재배열해도 된다.
백준 / 수들의 합 / 1789번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 수들의 합 / 1789번 (실버 5단계)문제 사이트: https://www.acmicpc.net/problem/1789 문제 설명 나의 풀이# 1789번 수들의 합# 접근법: 작은 수들부터 더해주는 방법이 가장 최대의 값이 출력될 것 같다.# 그리디적으로 0부터 작은 수를 더해주는 것이 가장 효율적인 방법이다.s = int(input())# 문자들의 개수를 셀 변수cnt = 0# 수를 더해줄 변수i = 1# 자연수들의 합이 넘어가면 멈출 변수total = 0while total + i ※ 알아야 할 것https://newkimjiwon.tistory.com/53 [알고리즘] 탐욕(그리디) 알고리즘(Greedy algorithm)탐욕 알고리즘이라고도 불리는 그리..
백준 / 단어 정렬 / 1181번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 단어 정렬 / 1181번 (실버 5단계)문제 사이트: https://www.acmicpc.net/problem/1181 문제 설명 나의 풀이n = int(input())words = []for _ in range(n): word = input() words.append(word)words = list(set(words))words.sort()words.sort(key = lambda i:len(i))for i in words: print(i)※ 알아야 할 것파이썬 리스트에서 길이 기준으로 정렬할 때 람다를 사용하면 쉽게 정렬할 수 있다.set은 중복되는 단어를 제거하기 위해서 사용했다.
백준 / 쉬운 최단거리 / 14940번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 쉬운 최단거리 / 14940번 (실버 1단계)문제 사이트: https://www.acmicpc.net/problem/14940 문제 설명 나의 풀이from collections import deque def bfs(tile, visit): q = deque() # 상하좌우로 움직여야함 move = [(0, 1), (0, -1), (1, 0), (-1, 0)] b = False for i in range(len(tile)): for j in range(len(tile[i])): # 2 찾으면 종료 시킬 반복문 if tile[i][j] == 2: q.append((i, j, 1)) tile[i][j] = 0 visit[i][j] = True b = True bre..
백준 / 전쟁 - 땅따먹기 / 1270번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 전쟁 - 땅따먹기 / 1270번 (실버 3단계)문제 사이트: https://www.acmicpc.net/problem/1270 문제 설명 나의 풀이# 땅의 개수n = int(input())answer = []for _ in range(n): win = {} war = list(map(int, input().split())) # 길이를 구할 변수 formation = len(war) # 과반수를 구해야 하므로 짝수와 홀수의 경우를 나눈다. # ex) 7의 과반수는 4이므로 2로 나누고 1를 더해줌 if formation % 2 == 0: formation //= 2 else: formation ..
[Unity] Meta Quest 2 이용한 씬 이동
·
소프트웨어 개발/Unity
이번에는 메타 퀘스트 2를 이용하여 오브젝트와 상호작용을 통해 씬을 이동하는 것을 구현해보도록 하겠습니다!https://newkimjiwon.tistory.com/203 [Unity] Meta Quest 2 VR 프로젝트 구축이번에는 VR 프로젝트를 구축하는 방법에 대해서 알아보겠습니다! 프로젝트 구축새 프로젝트를 눌러서 3D를 이용한 프로젝트를 만들어 줍니다!Unity에서 VR 관련 프로젝트를 만들 때, 3D 프로젝트newkimjiwon.tistory.comhttps://newkimjiwon.tistory.com/221 [Unity] Meta Quest 2 VR 프로젝트 구축-2https://newkimjiwon.tistory.com/203 [Unity] VR 프로젝트 구축이번에는 VR 프로젝트를 구축..
맥 M1/M2/M3 Python 아나콘다 설치 및 VSCode 환경 설정
·
기타/Mac OS
이번에는 맥에서 데이터 과학과 머신러닝에 많이 사용되는 아나콘다(Anaconda)를 설치하고 기본적인 환경 설정을 하는 방법을 단계별로 설명하겠습니다!! 아나콘다 사이트https://www.anaconda.com/download/success Download Now | AnacondaAnaconda is the birthplace of Python data science. We are a movement of data scientists, data-driven enterprises, and open source communities.www.anaconda.com위 사이트에 들어가게되면 이런 화면이 나올텐데 여기서 Apple silicon이 적혀있는 버전을 골라서 다운로드 하시면 됩니다. 나머지 Intel..
백준 / 램프 / 1034번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 램프 / 1034번 (골드 4단계)문제 사이트: https://www.acmicpc.net/problem/1034 문제 설명 나의 풀이# 입력받기n, m = map(int, input().split())lst = [input().strip() for _ in range(n)]k = int(input())max_cnt = 0# 모든 행에 대해 반복for row in range(n): # 현재 행의 0의 개수 세기 zero_count = lst[row].count('0') # 이 행과 똑같은 값을 가진 행의 개수 세기 col_light_cnt = 0 # 0의 개수와 k의 짝수/홀수 조건을 확인 if zero_count ※ 알아야 할..
백준 / 나머지 합 / 10986번 / Python
·
코딩테스트(프로그래머스 & 백준)/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 나머지 합 / 10986번 (골드 3단계)문제 사이트: https://www.acmicpc.net/problem/10986 문제 설명 나의 풀이def solution(arr): answer = 0 # 구간 합을 넣어둘 배열 per = [arr[0]] if arr[0] % m == 0: answer += 1 for i in range(1, len(arr)): if arr[i] % m == 0: answer += 1 per.append(arr[i] + per[i - 1]) per.pop(0) for j in per: if j % m == 0: ..
[알고리즘] 분할정복(Divide and Conquer)
·
컴퓨터 과학/알고리즘
오늘은 분할정복에 대해서 설명해보도록 하겠습니다. 우선 분할정복이란 문제를 여러 개의 작은 하위 문제로 나누고, 각각을 독립적으로 해결한 뒤, 그 결과를 결합하여 전체 문제를 해결하는 방식입니다. 이렇게보면 동적계획법이랑 다른게 없어 보일 수 있습니다. 하지만 이 두 알고리즘은 두 차이점이 존재합니다. 분할정복vs동적계획법분할정복 (Divide and Conquer)아이디어: 문제를 여러 개의 작은 하위 문제로 나누고, 각각을 독립적으로 해결한 뒤, 그 결과를 결합하여 전체 문제를 해결하는 방식입니다.특징하위 문제들이 서로 독립적입니다. 즉, 서로 겹치지 않으며, 동일한 부분 문제를 여러 번 해결하지 않습니다.예시는 병합 정렬(Merge Sort), 퀵 정렬(Quick Sort), 이진 탐색(Binary..
[운영체제] 프로세스 개요
·
컴퓨터 과학/운영체제
이번에는 프로세스의 관리에 대해서 알아보도록 하겠습니다.우선 프로세스에 대해서 알아보도록 하겠습니다. 프로세스란?프로세스의 정의는 다음과 같습니다.수행 중인 프로그램: 프로세스는 메모리에 적재되어 실행되고 있는 프로그램입니다.컴퓨터 상에서 수행 중인 프로그램의 인스턴스: 프로세스는 프로그램의 실행 인스턴스로, 동일한 프로그램이 여러 번 실행될 경우 각각의 실행 인스턴스가 독립적인 프로세스가 됩니다.처리기에 할당되어 수행될 수 있는 개체: 프로세스는 CPU에서 실행될 수 있는 단위이며, 운영 체제는 프로세스에게 CPU 시간을 할당하여 실행합니다.단일 순차 수행 스레드, 현재 상태, 연계된 자원 등에 의해 특징지어지는 활동 단위: 프로세스는 하나의 실행 흐름(스레드)을 가지며, 현재 상태(실행 중, 대기 중..
김치바보
'분류 전체보기' 카테고리의 글 목록 (5 Page)