전체 글 61

[백준] 입국심사 3079 java - 이분 탐색

https://www.acmicpc.net/problem/3079 상근이와 친구들은 오스트레일리아로 여행을 떠났다. 상근이와 친구들은 총 M명이고, 지금 공항에서 한 줄로 서서 입국심사를 기다리고 있다. 입국심사대는 총 N개가 있다. 각 입국심사관이 심사를 하는데 걸리는 시간은 사람마다 모두 다르다. k번 심사대에 앉아있는 심사관이 한 명을 심사를 하는데 드는 시간은 Tk이다.가장 처음에 모든 심사대는 비어있고, 심사를 할 준비를 모두 끝냈다. 상근이와 친구들은 비행기 하나를 전세내고 놀러갔기 때문에, 지금 심사를 기다리고 있는 사람은 모두 상근이와 친구들이다. 한 심사대에서는 한 번에 한 사람만 심사를 할 수 있다. 가장 앞에 서 있는 사람은 비어있는 심사대가 보이면 거기로 가서 심사를 받을 수 있다...

스터디/Algorithm 2024.05.30

[백준] 절댓값 힙 11286 java - Priority Queue

https://www.acmicpc.net/problem/11286 priority queue를 이용해서 조건에 따라 우선순위를 부여하는 방식으로구현했다  내 풀이import java.io.*;import java.util.*;public class Main { static int K, N; static int[] A; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); //StringTokenizer st = new StringTokenizer(br.readLine()); ..

스터디/Algorithm 2024.05.18

[운영체제] CPU 스케줄링 (2)

Multilevel Queue-Ready queue를 여러 개로 분할1) foreground (interactive)2) background (batch-no human interaction)-각 큐는 독립적인 스케줄링 알고리즘을 가짐1) foreground-RR2) background-FCFS-큐에 대한 스케줄링이 필요Fixed priority schedulingTime slice: 각 큐에 CPU time을 적절한 비율로 할당(80% to foreground in RR, 20% to background in FCFS) Multilevel Feedback Queue -프로세스가 다른 큐로 이동 가능-에이징(aging)을 이와 같은 방식으로 구현할 수 있다-Multilevel-feedback-queue ..

[백준] 불 4179 java - bfs

https://www.acmicpc.net/problem/4179 [첫번째 틀린 답안]불과 지훈이가 동시에 움직이는 것이 이 문제의 포인트라고 할 수 있다.동시간대에 불과 지훈이를 하나씩 움직여줘야 되는데이를 어떻게 처리해야할지가 어려웠다..처음에는 아래처럼 로직을 짰는데생각해보니 아래 코드는 불의 위치가 지훈이보다 앞서있을 때에만 유효한 코드이다.. import java.io.*;import java.util.*;public class Main { static int R,C; static char[][] map; static boolean[][] visited; static int[] dx = {1,-1,0,0}; static int[] dy = {0,0,1,-1}; s..

스터디/Algorithm 2024.05.03

[프로그래머스스쿨] 가장 큰 수 java (lv.2)

https://school.programmers.co.kr/learn/courses/30/lessons/42746 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 내 풀이  import java.util.*;class Solution {public String solution(int[] numbers) {String answer = "";String[] arr = new String[numbers.length]; for(int i=0;i (o2+o1).compareTo(o1+o2)); for(int i=0;i}    Arrays.sort커스텀하..

스터디/Algorithm 2024.05.03

[백준] 겹치는 건 싫어 java - two pointer

https://www.acmicpc.net/problem/20922출력조건을 만족하는 최장 연속 부분 수열의 길이를 출력한다.예제 입력 1 복사9 23 2 5 5 6 4 4 5 7예제 출력 1 복사7예제 입력 2 복사10 11 2 3 4 5 6 6 7 8 9예제 출력 2 복사6  내 풀이hashMap과 투 포인터로 풀었다hashMap에 배열 값을 0으로 초기화 해준 후K초과 일 때에 start_index를 증가시키는 방향으로 로직을 짰다  import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new ..

스터디/Algorithm 2024.05.02

[백준] 배열 합치기 java - two pointer

문제정렬되어있는 두 배열 A와 B가 주어진다. 두 배열을 합친 다음 정렬해서 출력하는 프로그램을 작성하시오.입력첫째 줄에 배열 A의 크기 N, 배열 B의 크기 M이 주어진다. (1 ≤ N, M ≤ 1,000,000)둘째 줄에는 배열 A의 내용이, 셋째 줄에는 배열 B의 내용이 주어진다. 배열에 들어있는 수는 절댓값이 109보다 작거나 같은 정수이다.출력첫째 줄에 두 배열을 합친 후 정렬한 결과를 출력한다.예제 입력 1 복사2 23 52 9예제 출력 1 복사2 3 5 9예제 입력 2 복사2 14 71예제 출력 2 복사1 4 7예제 입력 3 복사4 32 3 5 91 4 7예제 출력 3 복사1 2 3 4 5 7 9  내 답안1. 투 포인터 활용import java.io.*;import java.util.*;p..

스터디/Algorithm 2024.04.29

[운영체제] CPU 스케줄링 (1)

CPU-burst Time의 분포 여러 종류의 job(=process)이 섞여 있기 때문에 CPI 스케줄링이 필요 -interactive job에게 적절한 response 제공 요망 -CPU의 I/O 장치 등 시스템 자원을 골고루 효율적으로 사용 프로세스으의 특성 분류 프로세스는 그 특성에 따라 다음 두 가지로 나눔 📍I/O-bound process -CPU를 잡고 계산하는 시간보다 I/O에 많은 시간이 필요한 job -many short CPU bursts 📍CPU-bound process 계산 위주의 job -few very long CPU bursts CPU Scheduler & Dispatcher CPU Scheduler Ready 상태의 프로세스 중에서 이번에 CPU를 줄 프로세스를 고른다 D..

[운영체제] 프로세스 관리(2)

스케줄러 (Scheduler) 1. Long-term scheduler(장기 스케줄러 or job scheduler) 시작 프로세스 중 어떤 것들을 ready queue로 보낼지 결정 프로세스에 memory(및 각종 자원)을 주는 문제 degree of Multiprogramming을 제어 time sharing system에는 보통 장기 스케줄러가 없음 (무조건 ready) 2. Short-term scheduler(단기 스케줄러 or CPU scheduler) 어떤 프로세스를 다음번에 running시킬지 결정 프로세스에 CPU를 주는 문제 충분히 빨라야 함(millisecond 단위) 3. Medium-Term Scheduler(중기 스케줄러 or Swapper) 여유 공간 마련을 위해 프로세스를 통..