목록전체 글 (255)
-

# 주소 https://www.acmicpc.net/problem/2206 2206번: 벽 부수고 이동하기 N×M의 행렬로 표현되는 맵이 있다. 맵에서 0은 이동할 수 있는 곳을 나타내고, 1은 이동할 수 없는 벽이 있는 곳을 나타낸다. 당신은 (1, 1)에서 (N, M)의 위치까지 이동하려 하는데, 이때 최단 경로 www.acmicpc.net # 문제 # 문제 해설 및 코드 리뷰 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; pub..

본격적으로 웹 개발을 하기에 앞서, 가장 중요한 것은 개발 툴 설치입니다. 옛날에 웹 개발 프로젝트를 잠깐 할 때에는 이클립스 + STS4를 설치해서 사용했지만 요즘은 IntelliJ를 주로 사용하는 추세인 것 같아서 IntelliJ로 복습겸 되짚어 보려고 합니다. 그러므로 스프링 부트를 처음 접하는 분들께서는 스프링 부트 2.6.1을 설치하시고 (gradle 버전) 오시길 바랍니다. 다 설치하고 라이브러리는 따로 설치하지 않았는데도 기본적으로 스프링부트에는 라이브러리가 탑재되어 있습니다. 아파치도 있고,, 톰캣도 있고.. JUnit도 있고.. 스프링 부트 등등 무수히 많은 라이브러리가 있습니다. 요즘엔 기본적으로 웹 개발을 하면 이정도 라이브러리는 땡겨서 사용해야 하기 때문에 그렇습니다. 이 작업은 g..

# 주소 https://www.acmicpc.net/problem/2210 2210번: 숫자판 점프 111111, 111112, 111121, 111211, 111212, 112111, 112121, 121111, 121112, 121211, 121212, 211111, 211121, 212111, 212121 이 가능한 경우들이다. www.acmicpc.net # 문제 # 문제 해설 및 코드 리뷰 import java.util.HashSet; import java.util.Scanner; public class Main{ static int n; static int[][] arr; static int[] dx = {1, 0, -1, 0}; static int[] dy = {0, 1, 0, -1}; st..

FCFS에서 가장 문제점이 난 금방 일을 끝낼 수 있는데 앞에 있는 다른 프로세스 때문에 오래 기다려야하는 이런 불공평함이 존재했었습니다. 그래서 이를 보완하기 위해 짧은 프로세스는 먼저 빼주자는 전략이 등장하게 됩니다. 즉, 다시 말해 Burst time이 가장 작은 프로세스부터 먼저 처리하겠다는 의미로 받아들여집니다. 이를 다른 말로 Job이 가장 짧은 것 부터 처리한다는 의미에서 SJF라고도 부릅니다. 또한 한 번 할당받으면 끝나기 때문에 "비선점" 스케줄링 방식을 채택하고 있습니다. 그로 인한 장점은 여러 가지가 있습니다. 아무래도 BT가 짧은 프로세스 위주로 처리하다 보니 평균 대기시간(WT)가 적어지게 될 것입니다. 또한 시스템 내 프로세스 수를 최소화시킴으로써 스케줄링 부하가 감소되고 메모리..