💻 Development 408

[프로그래머스/Programmers] 체육복

체육복 📌 문제 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 체육복이 없으면 수업을 들을 수 없기 때문에 체육복을 적절히 빌려 최대한 많은 학생이 체육수업을 들어야 합니다. 전체 학생의 수 n, 체육복을 도난당한 학생들의 번호가 담긴 배열 lost, 여벌의 체육복을 가져온 학생들의 번호가 담긴 배열 reserve가 매개변수로 주어질 때, 체육수업을 들을 수 있는 학생의 최댓값을 return 하도록 solution ..

[운영체제/Operating System] 교착 상태 (Deadlock)

"KOCW - 반효경 교수님의 운영체제" 를 듣고 정리한 내용입니다. Deadlocks 교착상태 (Deadlock) Deadlock 일련의 프로세스들이 서로가 가진 자원을 기다리며 block된 상태 Resource 하드웨어, 소프트웨어 등을 포함하는 개념 ex) I/O device, CPU cycle, memory space, semaphore 등 프로세스가 자원을 사용하는 절차 Request → Allocate → Use → Release Example 시스템에 2개의 tape drive가 있는데 프로세스 A와 B가 각각 하나의 tape drive를 보유한 채 다른 하나를 기다리는 경우 Binary semaphores A and B 프로세스 0이 A를 획득한 상황에서 CPU가 프로세스 1에게 할당되고,..

[일일 회고] 2021년 4월 3일

💪 일일 회고 프로그래머스 문제풀이 가장 먼 노드 KOCW - 운영체제 강의 6. Process Synchronization 프로그래머스 백엔드 Dev-Matching 코테 한 번이라도 더 경험하기 위해 지원했다. 문제가 엄청 어렵지는 않았는데 3번을 풀지 못해서 아쉬웠다. 시험이 끝나고 다시 코드를 살펴보니 break 걸어주지 않아 제출했을 때 다 뻑난 것이였다. 🏃‍♂️ 한마디 2시간 동안 가비아 인적성 시험도 봤는데 적성 문제를 처음 접해서 그런지 되게 어려웠다.

[운영체제/Operating System] 프로세스 동기화

"KOCW - 반효경 교수님의 운영체제" 를 듣고 정리한 내용입니다. Process Synchronization 데이터의 접근 컴퓨터 시스템에서 데이터 연산은 저장 공간과 실행 공간이 아래와 같은 시퀀스로 동작하면서 이루어진다. 저장 공간에 데이터가 있다. 연산할 데이터를 실행 공간으로 가져온다. 실행 공간에서 연산한다. 연산 결과를 저장 공간에 반영한다. 추상적인 표현으로 저장 공간, 실행 공간이라는 말을 썼는데 실행 공간은 CPU나 프로세스, 컴퓨터 내부 등이 있고, 저장 공간은 메모리나 해당 프로세스의 주소 공간, 디스크 등이 있다. Race Condition 저장 공간을 공유하는 실행 공간이 여러 개 있는 경우 race condition 가능성이 있다. 예를 들어 메모리에 count 변수가 있고 ..

[프로그래머스/Programmers] 가장 먼 노드

가장 먼 노드 📌 문제 n개의 노드가 있는 그래프가 있습니다. 각 노드는 1부터 n까지 번호가 적혀있습니다. 1번 노드에서 가장 멀리 떨어진 노드의 갯수를 구하려고 합니다. 가장 멀리 떨어진 노드란 최단경로로 이동했을 때 간선의 개수가 가장 많은 노드들을 의미합니다. 노드의 개수 n, 간선에 대한 정보가 담긴 2차원 배열 vertex가 매개변수로 주어질 때, 1번 노드로부터 가장 멀리 떨어진 노드가 몇 개인지를 return 하도록 solution 함수를 작성해주세요. ⚠️ 제한사항 노드의 개수 n은 2 이상 20,000 이하입니다. 간선은 양방향이며 총 1개 이상 50,000개 이하의 간선이 있습니다. vertex 배열 각 행 [a, b]는 a번 노드와 b번 노드 사이에 간선이 있다는 의미입니다. 📋 코..