IT 42

[백준] 빙산 2573 java - bfs, dfs

https://www.acmicpc.net/problem/2573 bfs와 dfs를 모두 활용한 문제빙산이 분리됐는지 확인할 때에는 dfs녹는 과정에 대한 처리는 bfs로 처리해줬다동서남북 바다의 개수를 카운트 한 후에 빙산에서 그 값만큼 빼야하는데이 때에 원래 빙산 상태를 어떻게 저장해야하나.. 고민하다가빙산 상태를 매번 copy(깊은 복사) 해주었더니 시간초과가 발생했다따라서 초반에 빙산을 모두 queue에 넣은 후에 visited 처리를 하는 방식으로코드를 수정했다 !! (그렇다면 이후에 변화된 빙산에 영향을 받지 않고 맞닿은 바다를 계산해줄 수 있다) 내 풀이import java.io.*;import java.util.*;public class Main { static int N, M; ..

스터디/Algorithm 2024.06.18

운영체제 기술 면접 대비

프로세스와 쓰레드의 차이프로세스는 실행 중인 프로그램을 말하며 완전히 독립적이기 때문에메모리 영역(Code, Data, Stack, Heap)을 다른 프로세스와 공유하지 않는다.프로세스는 최소 1개의 쓰레드를 가지고 있다.쓰레드는 프로세스 내에서 Stack만 따로 할당 받고 그 이외의 메모리 영역(Code, Data, Heap)을공유하기 때문에 다른 쓰레드의 실행 결과를 즉시 확인할 수 있다.쓰레드는 프로세스 내에 존재하며 프로세스가 할당받은 자원을 이용하여 실행된다.  멀티 프로세스와 멀티 쓰레드의 특징멀티 프로세스는 하나의 프로세스가 죽어도 다른 프로세스에 영향을 끼치지 않고 계속 실행된다는 장점이 있지만멀티 쓰레드보다 많은 메모리 공간과 CPU 시간을 차지한다는 단점이 있다.멀티 쓰레드는 멀티 프로..

스터디 2024.06.08

네트워크 기술 면접 대비

HTTP 프로토콜HTTP 프로토콜은 데이터를 주고 받기 위한 프로토콜이며 서버/클라이언트 모델을 따릅니다.상태 정보를 저장하지 않는 stateless, 클라이언트의 요청에 맞는 응답을 보낸 후 연결을 끊는 connectionless의 특징을 가지고 있습니다.장점은 통신간의 연결상태처리나 상태정보를 관리할 필요가 없으므로 서버 디자인이 간단하고HTTP 요청에 독립적으로 응답만 보내주면되서 편리하다.단점은 이전 통신의 정보를 모르기 때문에 매번 인증을 해줘야 하고쿠키나 세션을 통해서 데이터를 처리한다. HTTP와 HTTPS의 차이점HTTP는 평문 데이터를 전송하는 프로토콜이기 때문에 제3자에 의해 조회될 수 있습니다.이를 해결하고자 HTTP에 암호화가 추가된 프로토콜이 HTTPS입니다.HTTP는 원래 TCP..

스터디 2024.06.08

데이터베이스 기술 면접 대비

데이터베이스의 특징실시간 접근성, 지속적인 변화, 동시 공용, 내용에 대한 참조 데이터베이스 언어에 대해 설명해주세요DDL(Data Definition Language)는 데이터베이스 구조를 정의, 수정, 삭제하는 언어(create, alter, drop)DML(Data Manipulation Language)는 데이터베이스 내의 자료 검색, 삽입, 갱신, 삭제를 위한 언어(select, insert, update, delete)DCL(Data control Language)는 데이터에 대한 무결성 유지, 병행 수행 제어, 보호와 관리를 위한 언어(commit, rollback, grant, revoke) SELECT 쿼리의 수행 순서FROM, ON, JOIN > WHERE, GROUP BY, HAVIN..

스터디 2024.06.08

백엔드(Web, Spring) 기술 면접 대비

WAS와 WS의 차이WAS는 Web Application Server로 비즈니스 로직을 넣을 수 있으며 대표적인 예시로 Tomcat, PHP 등이 있다.WS는 Web Server로 비즈니스 로직을 넣을 수 없으며 대표적으로 Nginx 등이 있다. Spring Framework?스프링 프레임워크는 자바 개발을 편리하게 해주는 오픈소스 프레임워크입니다.경량 컨테이너로서 자바 객체를 직접 관리하기 때문에 객체의 생성부터 소멸까지 라이프 사이클을 관리합니다.제어의 역전을 통해 컨트롤러의 제어권이 사용자가 아닌 프레임워크에 있어서 필요에 따라 스프링에서 사용자의 코드를 호출합니다.의존성 주입을 지원합니다.관점 지향 프로그래밍(AOP)를 지원하여 트랜잭션이나 로깅, 보안과 같이 공통적으로 사용하는 기능의 경우 해당..

스터디 2024.06.07

[운영체제] CPU 스케줄링 (3) + Process Synchronization

Algorithm Evaluation Queueing models확률 분포로 주어지는 arrival rate와 service rate 등을 통해각종 performance index 값을 계산 Implementation(구현) & Measurement(성능 측정)실제 시스템에 알고리즘을 구현하여 실제 작업(workload)에대해서 성능을 측정 비교 Simulation (모의 실험)알고리즘을 모의 프로그램으로 작성후 trace를 입력으로하여 결과 비교  Process Synchronization -E-box가 여럿 있는 경우 Race Condition(경쟁 상태)의 가능성이 있음-Multiprocessor system-공유메모리를 사용하는 프로세스들커널 내부 데이터를 접근하는 루틴들 간(ex. 커널모드 수행..

[백준] 입국심사 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 스케줄링 (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..