본문 바로가기

분류 전체보기153

[백준] 2579 계단 오르기(자바) : DP [실버3] ✔️ 문제 설명더보기문제계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점수를 얻게 된다.예를 들어 와 같이 시작점에서부터 첫 번째, 두 번째, 네 번째, 여섯 번째 계단을 밟아 도착점에 도달하면 총 점수는 10 + 20 + 25 + 20 = 75점이 된다.계단 오르는 데는 다음과 같은 규칙이 있다.계단은 한 번에 한 계단씩 또는 두 계단씩 오를 수 있다. 즉, 한 계단을 밟으면서 이어서 다음 계단이나, 다음 다음 계단으로 오를 수 있다.연속된 세 개의 계단을 모두 밟아서는 안 된다. 단, 시작점은 계단에 포함되지 않는다.마지막 도착 계단은 반드시 밟아야 한다.따라서 첫 번째 .. 2024. 8. 26.
[운영체제] 페이지 교체 알고리즘 운영체제는 주기억장치(Main Memory) 보다 더 큰 용량의 프로그램을 실행하기 위해 프로그램의 일부만 주기억장치에 적재하여 사용한다. 이를 가상메모리 기법이라고 한다. ✔️ 페이지 교체(page replacement)란?페이지 교체란 ?  페이징 기법으로 메모리를 관리하는 운영체제에서 필요한 페이지가 주기억장치(=Main Memory)에 적재되어 있지 않을 시, 해당 페이지를 찾아 주기억장치의 빈 프레임에 로딩해야한다.하지만 이때 빈 프레임이 없을 경우 1)메모리에 올라와 있는 페이지 중 하나를 디스크로 쫓아내(page-out), 2)메모리에 빈 공간을 확보한 후 3)새로운 페이지를 메모리에 올려야한다(page-in).이러한 과정이 페이지 교체(page replacement) 이다. • Victim.. 2024. 8. 26.
[운영체제] Paging(페이징) 과 Segmentation(세그먼테이션) ✔️ 페이징과 세그먼테이션이 필요한 이유어떠한 프로그램을 실행할 때, 프로그램들을 메모리 공간에 연속적으로 할당하게 된다. 만약 여러 프로그램들이 메모리에 할당되고 해제되는 것이 반복되다 보면, 메모리 공간이 조각조각 나뉘게 되어 사용 가능한 메모리 공간이 충분함에도 불구하고 프로그램에 메모리를 할당하는 것이 불가능한 상태가 발생한다.  이러한 현상을 Memory Fragmentation(메모리 단편화) 라고 한다.  고정 분할 기법 : 메인 메모리가 고정된 파티션으로 분할 → 내부 단편화 발생 동적 분할 기법 : 파티션들이 동적 생성되며 자신의 크기와 같은 파티션에 적재 →외부 단편화 발생 내부 단편화 ( Internal Fragmentation ) → 오른쪽 그림에 해당: 메모리를 할당할 때 프로세스.. 2024. 8. 25.
[운영체제] Semaphore(세마포어) & Mutex(뮤텍스) 이전 포스팅에서 Race Condition에 대해서 설명하면서, 공유 자원을 동시에 쓰지 않기 위해 한 번에 하나의 프로세스만 접근하도록 한다는 해결책을 언급하였다.  [운영체제] Race Condition(경쟁 상태)✔️ Race Condition(경쟁 상태) 정의Race Condition(경쟁 상태) 이란?경쟁 상태란 두 개 이상의 쓰레드가 공유자원에 대해 접근하려고 서로 경쟁하는 것이다. 다르게 말하면, 공유 자원에 대해 여러 쓰cse-gr.tistory.com이번 포스팅에서는 그 해결책을 구체적으로 알아보자 ! 공유된 자원에 여러 프로세스가 동시에 접근하면, Race Condition 이라는 문제가 발생하고이때 공유된 자원의 데이터는 한 번에 하나의 프로세스만 접근 할 수 있도록 1) Semaph.. 2024. 8. 24.
[운영체제] Race Condition(경쟁 상태) ✔️ Race Condition(경쟁 상태) 정의Race Condition(경쟁 상태) 이란?경쟁 상태란 두 개 이상의 쓰레드가 공유자원에 대해 접근하려고 서로 경쟁하는 것이다. 다르게 말하면, 공유 자원에 대해 여러 쓰레드가 동시에 접근할 때, 접근 순서에 따라 결과값에 영향을 줄 수 있는 상태이다.  ✔️ Critical Section(임계 영역) 정의Critical Section(임계 영역) 이란?임계 영역이란 Race Condition이 일어날 수 있는 영역으로, 하나의 쓰레드가 특정 공유 자원을 사용할 때 다른 쓰레드가 접근하지 못 하는 구역이다. 이 영역을 여러 쓰레드가 동시에 접근할 때 잘못된 결과를 만들 수 있다.  ✔️ Race Condition 발생하는 경우 및 해결책1. 커널 작업을 .. 2024. 8. 24.
[백준] 9095 1,2,3 더하기 (자바) : DP ✔️ 문제 설명더보기문제정수 4를 1, 2, 3의 합으로 나타내는 방법은 총 7가지가 있다. 합을 나타낼 때는 수를 1개 이상 사용해야 한다.1+1+1+11+1+21+2+12+1+12+21+33+1정수 n이 주어졌을 때, n을 1, 2, 3의 합으로 나타내는 방법의 수를 구하는 프로그램을 작성하시오.입력첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 정수 n이 주어진다. n은 양수이며 11보다 작다.출력각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다.예제 입력 1 복사34710예제 출력 1 복사744274 ✔️ 문제 풀이우선 혼자의 생각으로 이 문제를 풀지 못 했다... ㅎㅎ 블로그를 여러개 찾아보던 중 가장 쉬운 설명으로 이.. 2024. 8. 24.