반응형

전체 글 629

[Java] 11724 연결 요소의 개수

문제 방향 없는 그래프가 주어졌을 때, 연결 요소 (Connected Component)의 개수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주어진다. 출력 첫째 줄에 연결 요소의 개수를 출력한다. import java.io.*; import java.util.*; public class Main{ static ArrayList[] arr; static boolean visited[]; public static void main(String[] args) throws IO..

Algorithm/BAEKJOON 2023.04.29

[Java] 10989 수 정렬하기 3

문제 N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. 출력 첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. import java.util.*; import java.io.*; public class Main{ public static int[] arr; public static long result; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(n..

Algorithm/BAEKJOON 2023.04.28

[Java] 2751 수 정렬하기 2

문제 N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. 출력 첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. import java.io.*; import java.util.*; public class Main{ public static int[] arr, tmp; public static long result; public static void main(String[] args) throws IOException{ BufferedReader br..

Algorithm/BAEKJOON 2023.04.27

[Java] 11004 K번째 수

문제 수 N개 A1, A2, ..., AN이 주어진다. A를 오름차순 정렬했을 때, 앞에서부터 K번째 있는 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N(1 ≤ N ≤ 5,000,000)과 K (1 ≤ K ≤ N)이 주어진다. 둘째에는 A1, A2, ..., AN이 주어진다. (-10^9 ≤ Ai ≤ 10^9) 출력 A를 정렬했을 때, 앞에서부터 K번째 있는 수를 출력한다. import java.io.*; import java.util.*; public class Main{ public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(Syste..

Algorithm/BAEKJOON 2023.04.26

[Java] 11399 ATM

문제 인하은행에는 ATM이 1대밖에 없다. 지금 이 ATM앞에 N명의 사람들이 줄을 서있다. 사람은 1번부터 N번까지 번호가 매겨져 있으며, i번 사람이 돈을 인출하는데 걸리는 시간은 Pi분이다. 사람들이 줄을 서는 순서에 따라서, 돈을 인출하는데 필요한 시간의 합이 달라지게 된다. 예를 들어, 총 5명이 있고, P1 = 3, P2 = 1, P3 = 4, P4 = 3, P5 = 2 인 경우를 생각해보자. [1, 2, 3, 4, 5] 순서로 줄을 선다면, 1번 사람은 3분만에 돈을 뽑을 수 있다. 2번 사람은 1번 사람이 돈을 뽑을 때 까지 기다려야 하기 때문에, 3+1 = 4분이 걸리게 된다. 3번 사람은 1번, 2번 사람이 돈을 뽑을 때까지 기다려야 하기 때문에, 총 3+1+4 = 8분이 필요하게 된다..

Algorithm/BAEKJOON 2023.04.25

[쉽게 배우는 운영체제] Chapter 06. 교착 상태

01 교착 상태 다른 작업이 끝나기를 기다리며 작업을 더 이상 진행하지 못하는 상태를 교착 상태라고 한다. 잘못된 정책으로 특정 프로세스 작업이 지연되는 아사 현상과 다르며, 잠금을 사용하는 모든 곳에서 자연 발생하는 현상이다. 02 교착 상태를 유발하는 네 가지 필요조건 다음 네 가지 조건이 모두 충족되어야 교착 상태가 발생한다. ▶ 상호 배제 한 프로세스가 사용하는 자원이 다른 프로세스와 공유할 수 없는 배타적 자원일 때 교착 상태가 발생한다. ▶ 비선점 한 프로세스가 사용 중인 자원이 중간에 다른 프로세스가 빼앗을 수 없는 비선점 자원일 때 교착 상태가 발생한다. ▶ 점유와 대기 프로세스가 어떤 자원을 할당받은 상태에서 다른 자원을 기다릴 때 교착 상태가 발생한다. ▶ 원형 대기 점유와 대기를 하는..

Operating System 2023.04.23

[Java] 1427 소트인사이드

문제 배열을 정렬하는 것은 쉽다. 수가 주어지면, 그 수의 각 자리수를 내림차순으로 정렬해보자. 입력 첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. 출력 첫째 줄에 자리수를 내림차순으로 정렬한 수를 출력한다. import java.io.*; import java.util.*; public class Main{ public static void main(String[] args){ Scanner scanner = new Scanner(System.in); String str = scanner.next(); int[] arr = new int[str.length()]; for(int i=0; i

Algorithm/BAEKJOON 2023.04.23

[쉽게 배우는 운영체제] Chapter 05. 프로세스 동기화

01 프로세스 간 통신 ▶ 가장 원시적인 프로세스 간 통신 방법으로 공유 메모리나 공유 파일을 사용하는 방식이 있다. 이 방식은 비동기화 통신이기 때문에 바쁜 대기를 해야 한다. ▶ 파일 입출력 코드는 크게 세 부분으로 구성된다. 파일을 열고(open()), 쓰기(write()) 또는 읽기(read()) 연산을 한 후, 파일을 닫는다(close()). ▶ 하나의 컴퓨터 내에서 프로세스 간 통신에 많이 사용되는 것은 파이프다. 파이프는 부모 - 자식 간 통신에 사용되며 단방향, 동기화 통신이다. ▶ 컴퓨터와 컴퓨터가 네트워크로 연결된 통신에는 소켓이 주로 사용된다. 소켓은 양방향, 동기화 통신이다. 02 임계구역 2개 이상의 작업이 공유 자원을 병행해서 읽거나 쓰는 상황을 경쟁 조건이 발생했다고 한다. 경..

Operating System 2023.04.22

[쉽게 배우는 운영체제] Chapter 04. CPU 스케줄링

01 스케줄링 단계 ▶ 고수준 스케줄링 시스템 내의 전체 작업 수를 조절하는 것으로 시스템 내에서 동시에 실행 가능한 프로세스의 총 개수를 결정한다. ▶ 중간 수준 스케줄링 고수준 스케줄링에 의해 실행이 결정된 프로세스의 수를 조절하여 시스템의 과부하를 막는다. ▶ 저수준 스케줄링 활성화된 프로세스들의 실제 진행을 담당한다. 02 프로세스의 우선순위 우선순위가 높은 프로세스는 커널 프로세스, 전면 프로세스, 대화형 프로세스, 입출력 집중 프로세스이며, 우선순위가 낮은 프로세스는 사용자 프로세스, 후면 프로세스, 일괄 작업 프로세스, CPU 집중 프로세스다. 느린 입출력 프로세스에 CPU의 작업을 양보함으로써 시스템의 효율성이 향상되는데 이를 '사이클 훔치기'라고 한다. 03 비선점형 스케줄링 어떤 프로세..

Operating System 2023.04.21
반응형