본문 바로가기

분류 전체보기

(174)
[기술면접] 운영체제 2 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁면접 리스트프로세스와 스레드의 차이는 무엇인가요?더보기프로세스는 메모리에 올라와 실행되는 프로그램을 의미합니다. 이는 독립적인 메모리 공간을 할당하여 운영체제로부터 자원을 할당받는 작업의 단위를 의미합니다. 각 프로세스들은 서로 통신을 하기 위해 공유 메모리, 메시지 큐 등을 이용합니다. 스레드는 프로세스의 작업단위를 의미합니다. 프로세스와 다르게 메모리를 공유하며 작동합니다.스케줄러의 종류를 설명해보세요더보기스케줄러의 종류에는 세가지가 있습니다. 첫번째 장기 스케줄러는 수행해야 하는 작업 중 어느 것을 선택할 지 결정하는 스케줄러입니다. 프로세스 흐름 상..
[기술면접] 운영체제 1 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁면접을 위한 CS 전공지식 노트(주홍철 저)을 통해 정리한 포스팅입니다.면접 리스트운영체제의 역할은 무엇인가요?더보기운영체제는 1. CPU 스케줄링과 프로세스 관리2. 메모리관리3. 디스크 파일 관리4. IO 디바이스 관리가 있습니다. 1은 CPU 소유권과 어떤 프로세스에 할당할지, 프로세스의 생성과 삭제, 자원 할당 및 반환을 관리합니다.2는 한정된 메모리를 어떤 프로세스에 얼마큼 할당해야하는지 관리합니다.3은 디스크 파일을 어떠한 방법으로 보관할지 관리합니다.4는 IO 디바이스들을 관리합니다. PCB는 무엇인가요?더보기PCB(Process Control..
[코딩테스트] Java 순위 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁Programmers 알고리즘 고득점 Kit입니다.포인트잃어버린 결과표에서 순위를 알 수 있는 선수의 수를 구하는 문제였습니다.순위를 안다는 것은 누군가에게 지고 이겼는지에 대한 모든 결과를 알고 있으면 되므로 wins 배열과 loses 배열을 통해 확인합니다.소스코드import java.util.*;class Solution { List> wins = new ArrayList(); List> loses = new ArrayList(); public int solution(int n, int[][] results) { i..
[코딩테스트] Java 가장 먼 노드 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁Programmers 알고리즘 고득점 Kit입니다.포인트bfs 탐색을 통해 1번 노드에서 가장 먼 노드를 찾는 문제였습니다. 저는 visited 배열과 step 배열을 통해서 문제를 풀었습니다.소스코드import java.util.*;class Solution { boolean[] visited; int[] step; List> graph = new ArrayList(); Queue q = new LinkedList(); public void bfs() { while(!q.isEmpty()) { ..
[코딩테스트] Java 징검다리 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁Programmers 알고리즘 고득점 Kit입니다.포인트이 문제는 이분 탐색을 어떤 값으로 하느냐가 포인트였던 것 같습니다. 저는 바위 간의 거리의 최솟값을 기준으로 이분탐색을 진행하였습니다. 해당 바위 사이의 거리가 최솟값보다 크다면 삭제하고, 삭제한 값이 n보다 더 많으면 범위를 재탐색하는 로직으로 설계하였습니다. 하지만 해당 문제에서 제거한 바위의 갯수랑 n과 같을때로 설정하면 문제가 틀리고 제거한 바위가 n보다 작거나 같을때로 하면 정답이 되었습니다. 문제의 설명이 빠진 것인지 싶은데 혹시 해당 이유를 아시는 분 있으면 댓글달아주시면 감사드립니다😁..
[코딩테스트] Java 입국심사 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁Programmers 알고리즘 고득점 Kit입니다.포인트이분탐색을 이용하여 심사가 끝나는 시간을 기준으로 처리 가능한 총 인원을 계산하여 n보다 클 때에 값을 갱신하는 lowerbound(특정 조건을 만족하는 값 중에서 최솟값)를 사용했습니다. 소스코드import java.util.*;class Solution { public long solution(int n, int[] times) { Arrays.sort(times); long answer = 0; long left = 1; long right ..
[코딩테스트] Java 사칙연산 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁Programmers 알고리즘 고득점 Kit입니다.포인트해당 문제는 결합법칙을 무시한 채 최대 값을 구하기 위한 문제입니다. - 연산에서는 왼쪽 값은 최댓값, 오른쪽 값은 최솟값이 되어야 최대값이 되고, + 연산에서는 두 값 모두 최대 값이 되어야 합니다. 이를 통해 dpMax 배열과 dpMin 배열을 통해 문제를 풀었습니다.소스코드class Solution { public int solution(String[] arr) { int n = arr.length / 2 + 1; // 숫자의 개수 int[][]..
[코딩테스트] Java 여행경로 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁Programmers 알고리즘 고득점 Kit입니다.포인트모든 항공권을 사용해 가능한 여행 경로를 찾고, 사전순으로 가장 앞선 경로를 반환합니다.소스코드import java.util.*;class Solution { int n; boolean[] visited; ArrayList arr = new ArrayList(); public void dfs(int cnt, String start, String path, String[][] tickets) { if(cnt == n) { arr.add(path..