분류 전체보기 107

백준 16235 JAVA

문제 유형시뮬레이션문제 접근답살아있는 나무 개수주어지는 정보땅 크기 N*N = 1001년 마다의 연산 회수봄나무 100개 + 정렬(NlogN) = 120여름죽은 나무 100개 = 100가을나무 100개 * 인접 8칸 = 800겨울양분 추가 100 = 100총합1120 예상최대 기간 년도 K = 1000총합1000 * 1120 ⇒ 1,120,000⇒ 완전 탐색 가능⇒ 시뮬레이션 가능import java.util.*;import java.io.*;class Tree implements Comparable{ public int y,x,age; Tree(int y, int x, int age) { this.y = y; this.x = x; this.a..

알고리즘 2024.07.10

백준 14891 JAVA

문제 유형시뮬레이션문제 접근답회전이 끝난 톱니바퀴들의 12시 방향 S극 점수주어지는 정보톱니바퀴 개수 4개각 톱니 8개회전 100회⇒ 완전 탐색 가능⇒ 시뮬레이션 가능 import java.io.*;import java.util.*;class Main { public static int[][] gear = new int[5][9]; public static void Rotate(int num, int rotate) { //CW(Clockwise) if(rotate == 1) { int temp = gear[num][8]; for(int i = 8; i>1; i--) { ..

알고리즘 2024.07.09

백준 14890 JAVA

문제 유형시뮬레이션, 완전탐색문제 접근답경사로를 배치할 수 있는 행, 열의 총 개수주어지는 정보지도 크기 N*N = 10,000경사로 배치를 위한 연산 L = 100최대 시간복잡도는 10,000 * 100보다 작음⇒ 완전 탐색 가능⇒ 시뮬레이션 가능 import java.util.*;import java.io.*;class Main{ public static int[][] map; public static boolean[][] visited; public static int N; public static int ramp; public static boolean Col(int x) { //lock_x for(int i = 1; i= 2) ..

알고리즘 2024.07.08

운영체제4 (2024.7.6)

31. 요구 페이징 설명요구 페이징(Demand Paging)프로세스 실행 시, 필요한 페이지만 물리적인 메모리에 올려두는 기법나머지는 보조기억장치(하드디스크 등)에 페이징 기법으로 저장32. 페이지 교체가 일어나는 시점과 교체 알고리즘의 종류?페이지 교체물리 메모리에 있는 페이지를 꺼내어, 다른 페이지로 교체하는 것페이지 교체가 일어나는 시점실행하고자 하는 페이지가 있는데 물리 메모리가 꽉찬 경우예시)요구 페이징 기반프로세스 A의 일부 페이지가 물리 메모리에서 실행 중이다.프로세스 A의 새로운 기능 실행을 위해 A페이지를 물리 메모리로 가져오고자 함물리 메모리가 꽉 찬 상황이라서 페이지 교체가 발생교체 알고리즘FIFO가장 오래된 페이지 교체LFU(Least Frequently Use)가장 사용 빈도가 ..

CS/운영체제 2024.07.06

운영체제 2024.7.5

운영체제321. 선점, 비선점 설명선점(preemption)의미 : 프로세스가 CPU를 할당받았을 때, 운영체제가 CPU를 강제로 빼앗아서 다른 프로세스에 할당 가능예시 상황interrupt비선점(non-preemption)의미 : 프로세스가 CPU를 할당받았을 때, 다른 프로세스가 CPU를 빼앗을 수 없는 방식22. 동시성, 병렬성 설명동시성여러 작업이 동시에 실행되는 것 처럼 보이게 하는것Context Switching을 통해 여러 작업을 번갈아가면서 실행시킴사용 코어 : 싱글 코어동작 방식 : 싱글 코어에서 멀티 쓰레드를 동작병렬성여러 작업을 동시에 실행시킴여러 프로세스를 동시에 실행시킴사용 코어 : 멀티 코어동작 방식 : 멀티 코어에서 멀티 쓰레드 동작(각 프로세스에 있는 쓰레드들을 동작)23. ..

CS/운영체제 2024.07.05

백준 14502 JAVA

문제 유형시뮬레이션문제 접근답청소기가 청소하는 타일 개수주어지는 정보지도 크기 N*M = 2500청소기의 명령 체계 = 7개⇒ 완전 탐색 가능⇒ 시뮬레이션 가능1. 지문에 있는 내용 그대로 코드 구현장점가독성 증가문제에서 지시한 알고리즘을 비교하면서 코드를 보면 이해하기 쉬울 거임단점코드 길이 증가 import java.util.*;import java.io.*;class Cleaner{ public int y,x; //0=north, 1=east, ~~~ public int compass; Cleaner(int y, int x, int compass) { this.y = y; this.x = x; this.compass = ..

알고리즘 2024.07.05

운영체제 2024.7.4

11. 멀티 쓰레드 환경에서의 주의점동기화를 주의해야한다한 프로세스내에서는 쓰레드끼리 공유 자원을 가진다.서로 다른 쓰레드가 공유 자원에 접근할 경우 값의 오류가 발생할 수 있다.따라서 쓰레드들은 공유 자원에 대한 동기화가 필요하다※ 쓰레드 동기화한 쓰레드가 공유 자원을 쓰고 있으면, 다른 쓰레드가 접근할 수 없게 막는다.예시계좌에 1만원이있다.a, b는 동시에 만 원, 만 원을 가져갔다.계좌는 -1만원이 된다.동기, 비동기, 블로킹, 논블로킹 차이https://www.youtube.com/watch?v=oEIoqGd-Snshttps://velog.io/@nittre/블로킹-Vs.-논블로킹-동기-Vs.-비동기12. 동기, 비동기동기, 비동기는 결과의 유무를 따진다.동기(Synchronous)요청의 결과가..

CS/운영체제 2024.07.04

백준 14502 JAVA

문제 유형DFS + BFS문제 접근답안전 영역의 최대 크기주어지는 정보지도 크기 N*M = 64벽 3개 배치⇒ 완전 탐색 가능(64 C 3) * 64 = 2,666,49664개 중에서 3개의 벽 배치 * 바이러스 퍼뜨리기BFS vs DFS둘 다 사용 가능(최솟값을 구하는 문제면 BFS가 유력하지만, 최대값을 구하기 때문에 둘 다 가능할 것으로 보임)import java.util.*;import java.io.*;class XY{ public int x; public int y; public XY(int x,int y) { this.x = x; this.y = y; }}public class Main { public static int[][]..

알고리즘 2024.07.04

운영체제 2024.7.3

공부 자료 :1. 쉽게 배우는 운영체제2. https://hoons-dev.tistory.com/95 1. 운영체제란 무엇인가?하드웨어 자원 관리프로그램과 하드웨어 사이를 중재하는 인터페이스인터페이스 : 두 시스템 사이에서 신호를 주고 받는 접점을 의미2. 커널이란 무엇인가?메모리에서 기능하는 운영체제의 핵심 기능들이다.운영체제는 프로그램이다.프로그램은 메모리에서 작동한다.운영체제의 용량은 매우 크다. 따라서 메모리에 전부 올려놓을 수 없다.운영체제의 핵심 기능들만 메모리에 올려놓았다.메모리에 놓인 운영체제의 기능들을 커널이라 부른다.커널의 기능 : 프로세스, 메모리, 저장장치 관리3. 메모리의 힙 영역과 스택 영역의 차이스택 영역저장되는 데이터는?지역 변수, 매개 변수스택의 크기가 정해지는 시간컴파일크..

CS/운영체제 2024.07.03

백준 14500 JAVA

문제 유형DFS문제 접근답4칸으로 가질 수 있는 최대 값(대각선 불가)주어지는 정보맵 크기 N*M = 250000탐색 범위 5*4 = 20테트로미노 종류 * 회전(4방향) = 20⇒ 250000*20 = 5,000,000이므로 완전탐색 가능DFS vs BFSBFSBFS는 ㅗ 모양을 만들기 적절치 않음(visit 기록할 때, 타이밍이 안맞음)DFS테트로미노 모양의 탐색에 있어 전부 대응 가능⇒ DFSimport java.util.*;import java.io.*;public class Main { public static int N,M; public static int[][] map; public static boolean[][] visited; public static int[][]..

알고리즘 2024.07.03