전체 글 679

[JAVA] 백준 1654 - 랜선 자르기

https://www.acmicpc.net/problem/1654 1654번: 랜선 자르기 첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고, N은 1이상 1,000,000이하의 정수이다. 그리고 항상 K ≦ N 이다. 그 www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public class Main{ public static void main(String[] arg..

ALGORITHM 2022.12.26

[JAVA] 백준 2805 - 나무 자르기

https://www.acmicpc.net/problem/2805 2805번: 나무 자르기 첫째 줄에 나무의 수 N과 상근이가 집으로 가져가려고 하는 나무의 길이 M이 주어진다. (1 ≤ N ≤ 1,000,000, 1 ≤ M ≤ 2,000,000,000) 둘째 줄에는 나무의 높이가 주어진다. 나무의 높이의 합은 항상 M보 www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public class Main{ public static void main(String..

ALGORITHM 2022.12.26

[Spring] MVC 동작 원리

Spring MVC Spring MVC란 웹 애플리케이션 개발을 위한 MVC 패턴 기반의 웹 프레임워크이다. 애플리케이션의 구성 요소를 Model, View, Controller로 분리한다. Model 데이터 관리 및 비지니스 로직을 처리하는 부분이다. 요청에 의한 로직만 처리하고 이 결과를 어디에, 어떻게 사용하는지는 상관하지 않는다. 뷰나 컨트롤러에 대한 어떠한 정보도 알면 안된다. 데이터의 변경이 일어났을때 뷰를 참조하는 내부속성값을 가지면 안된다는 것이다. ex) DAO, DTO, Service @Service를 통해 스프링 컨테이너에 등록된 객체는 Model에 해당된다. View 비지니스 로직의 처리 결과를 통해 사용자 인터페이스가 표현되는 구간이다. Model을 통해 전달받은 데이터가 어떤 데..

BACK/SPRING 2022.12.25

[JAVA] 백준 16964 - DFS 스페셜 저지

https://www.acmicpc.net/problem/16964 16964번: DFS 스페셜 저지 첫째 줄에 정점의 수 N(2 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N-1개의 줄에는 트리의 간선 정보가 주어진다. 마지막 줄에는 DFS 방문 순서가 주어진다. DFS 방문 순서는 항상 N개의 정수로 이루 www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; public class Main { static int n; static boolean[] visit; static ArrayList list; static in..

ALGORITHM 2022.12.23

[네트워크] 웹 액세스의 흐름, HTTP 프로토콜

웹 액세스의 흐름 유저가 웹 브라우저에 URL을 입력한다. URL로 지정한 웹 서버에게 HTTP 요청을 송신한다. URL에는 호스트명이 지정되기 때문에 DNS 서버에 IP주소를 질의하여 알아낸 뒤 TCP 연결이 맺어지고 HTTP 요청이 웹 서버로 송신된다. 웹 서버가 HTTP 요청을 해석한다. 웹 서버가 요청받은 파일을 웹 브라우저에 돌려보낸다. 보통 이 파일은 HTML 파일에 해당한다. 웹 브라우저가 수신한 데이터를 해석해서 웹 브라우저상에 표시한다. HTML(HyperText Markup Language): 웹 사이트의 내용을 기술하기 위해 사용되는 언어 HTTP(HyperText Transfer Protocol): 웹 서버로부터 파일을 전송받기 위해 사용되는 프로토콜 URL(Uniform Resou..

CS/네트워크 2022.12.22

[운영체제] CPU 스케줄링

CPU 스케줄링 운영체제가 프로세스들에게 공정하고 합리적으로 CPU 자원을 배분하는 것을 CPU 스케줄링이라고 한다. 프로세스 우선순위 우선순위가 높은 프로세스란 빨리 처리해야하는 프로세스들을 의미한다. (ex 입출력이 많은 프로세스) 상황에 맞게, 프로세스의 중요도에 맞게 프로세스가 CPU를 이용할 수 있도록 운영체제는 프로세스마다 우선순위를 부여한다. 운영체제는 각 프로세스의 PCB에 우선순위를 명시하고, 이를 기준으로 먼저 처리할 프로세스를 결정한다. 스케줄링 큐 연결리스트로 구현 각 PCB는 다음 PCB를 가리키는 포인터를 포함 운영체제가 매번 PCB를 검사하여 자원을 이용할 프로세스를 결정하는 것은 번거롭기 때문에, 효율적인 스케줄링을 위해 스케줄링 큐를 사용한다. 스케줄링 큐는 크게 두가지가 ..

CS/운영체제 2022.12.22

[JAVA] 백준 16947 - 서울 지하철 2호선

https://www.acmicpc.net/problem/16947 16947번: 서울 지하철 2호선 첫째 줄에 역의 개수 N(3 ≤ N ≤ 3,000)이 주어진다. 둘째 줄부터 N개의 줄에는 역과 역을 연결하는 구간의 정보가 주어진다. 같은 구간이 여러 번 주어지는 경우는 없고, 역은 1번부터 N번까지 번호 www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; public class Main{ static int n; static int[] distance; static boolean[] visited, cycle; static..

ALGORITHM 2022.12.19
반응형