6회차 운영체제 | 메모리 구조 관련 내용 정리
메모리구조/ 스택/ 힙/ 데이터/ 코드 영역 - 선언하면 어느쪽에 저장되는지 설명하기 메모리 계층 구조 | 기억 장치의 계층 구조 1) CPU의 레지스터 (Register) 레지스터는 CPU에 위치한 고속 메모리. CPU가 바로 사용할 수 있는 데이터 저장 CPU(Center Process Unit) | 중앙 처리 장치 : 컴퓨터에서 기억, 해석, 연산, 제어 4대 주요 기능 관활하는 컴퓨터의 대뇌 장치 CU(Control Unit) | 제어 장치 : CPU의 한 부품으로, 입출력 장치 간 통신 조율을 제어명령어 읽고 해석, 데이터 처리 위한 순서 결정 ALU (Arthmetic Logic Unit) | 산술 논리 장치 : 산술 연산, 논리 연산 계산하는 디지털 회로 2) 캐시 | Cache 캐시는 메인..
- [스터디] CS 기술 면접 준비/CS_운영체제 [Operating System]
- · 2024. 1. 18.
백준 | 5719번. 거의 최단 경로 - 다익스트라 문풀
⬛ 백준 5719번. 거의 최단 경로 - 다익스트라 문풀 https://www.acmicpc.net/problem/5719 5719번: 거의 최단 경로 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 장소의 수 N (2 ≤ N ≤ 500)과 도로의 수 M (1 ≤ M ≤ 104)가 주어진다. 장소는 0부터 N-1번까지 번호가 매겨져 있 www.acmicpc.net 문제 요즘 많은 자동차에서는 GPS 네비게이션 장비가 설치되어 있다. 네비게이션은 사용자가 입력한 출발점과 도착점 사이의 최단 경로를 검색해 준다. 하지만, 교통 상황을 고려하지 않고 최단 경로를 검색하는 경우에는 극심한 교통 정체를 경험할 수 있다. 상근이는 오직 자기 자신만 사용 가능한 네비게이션을 만들고 ..
- 코딩 테스트 [준비]/[문풀] Baekjoon_백준 문풀_조지기
- · 2024. 1. 17.
백준 | 1916번. 최소비용 구하기 - 다익스트라 문풀
⬛ 백준 1916번. 최소비용 구하기 - 다익스트라 문풀 https://www.acmicpc.net/problem/1916 1916번: 최소비용 구하기 첫째 줄에 도시의 개수 N(1 ≤ N ≤ 1,000)이 주어지고 둘째 줄에는 버스의 개수 M(1 ≤ M ≤ 100,000)이 주어진다. 그리고 셋째 줄부터 M+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 www.acmicpc.net 문제 N개의 도시가 있다. 그리고 한 도시에서 출발하여 다른 도시에 도착하는 M개의 버스가 있다. 우리는 A번째 도시에서 B번째 도시까지 가는데 드는 버스 비용을 최소화 시키려고 한다. A번째 도시에서 B번째 도시까지 가는데 드는 최소비용을 출력하여라. 도시의 번호는 1부터 N까지이다. 입력 첫째 줄에 도시..
- 코딩 테스트 [준비]/[문풀] Baekjoon_백준 문풀_조지기
- · 2024. 1. 17.
백준 | 1865번. 웜홀 - 벨만포드 문풀
⬛ 백준 1865번. 웜홀 - 벨만포드 문풀 https://www.acmicpc.net/problem/1865 1865번: 웜홀 첫 번째 줄에는 테스트케이스의 개수 TC(1 ≤ TC ≤ 5)가 주어진다. 그리고 두 번째 줄부터 TC개의 테스트케이스가 차례로 주어지는데 각 테스트케이스의 첫 번째 줄에는 지점의 수 N(1 ≤ N ≤ 500), www.acmicpc.net 문제 때는 2020년, 백준이는 월드나라의 한 국민이다. 월드나라에는 N개의 지점이 있고 N개의 지점 사이에는 M개의 도로와 W개의 웜홀이 있다. (단 도로는 방향이 없으며 웜홀은 방향이 있다.) 웜홀은 시작 위치에서 도착 위치로 가는 하나의 경로인데, 특이하게도 도착을 하게 되면 시작을 하였을 때보다 시간이 뒤로 가게 된다. 웜홀 내에서는..
- 코딩 테스트 [준비]/[문풀] Baekjoon_백준 문풀_조지기
- · 2024. 1. 17.
백준 | 1956번. 운동 - 플로이드 문풀
⬛ 백준 1956번. 운동 - 플로이드 문풀 https://www.acmicpc.net/problem/1956 1956번: 운동 첫째 줄에 V와 E가 빈칸을 사이에 두고 주어진다. (2 ≤ V ≤ 400, 0 ≤ E ≤ V(V-1)) 다음 E개의 줄에는 각각 세 개의 정수 a, b, c가 주어진다. a번 마을에서 b번 마을로 가는 거리가 c인 도로가 있다는 의 www.acmicpc.net 문제 V개의 마을와 E개의 도로로 구성되어 있는 도시가 있다. 도로는 마을과 마을 사이에 놓여 있으며, 일방 통행 도로이다. 마을에는 편의상 1번부터 V번까지 번호가 매겨져 있다고 하자. 당신은 도로를 따라 운동을 하기 위한 경로를 찾으려고 한다. 운동을 한 후에는 다시 시작점으로 돌아오는 것이 좋기 때문에, 우리는 사..
- 코딩 테스트 [준비]/[문풀] Baekjoon_백준 문풀_조지기
- · 2024. 1. 17.
5회차 운영체제 | 프로세스, 스레드, PCB 등 질문 정리
24.01.16 화 질문 내용 모음 | 24.04.04 답변 업데이트 1) Context Switching(문맥 교환)에 대해 설명하고, 왜 필요한지 설명해주세요. - CPU는 한 번에 하나의 프로세스를 수행하는데, 실생활에서는 여러 개 프로세스를 동시 수행하길 원하고, 따라서 CPU가 동시 수행하는 것처럼 보이기 위해 여러 프로세스를 번갈아가며 수행한다. - 또한, 문맥교환 시간보다 I/O 작업이 더 오래걸려서, 그 사이에 문맥교환을 하는 것이 더 효율적이다 . 2) 스레드가 스택을 제외해서 자원을 공유하는데, 왜 스택은 따로 할당받나요? - 스택은 함수의 실행과 관련있다. 각 스레드가 독립적인 실행 흐름을 갖기 위한 최소 조건으로 스택 영역에 대해서는 별도로 할당받는 것이다. 3) 멀티 쓰레드의 장점..
- [스터디] CS 기술 면접 준비/CS_운영체제 [Operating System]
- · 2024. 1. 16.
5회차 운영체제 | 프로세스, 스레드, PCB 등 내용 정리
OS 스레드 , 프로세스 차이 (멀티스레드와 멀티프로세스차이, PCB) 운영체제 (Operating System) HW 하드웨어와 SW 소프트웨어를 관리하는 역할 1) 운영체제의 역할 - (4) (1) CPU 스케줄링과 프로세스 관리 : CPU 소유권을 어떤 프로세스에 할당할지, 프로세스 생성과 삭제 자원 할당 및 반환을 관리 (2) 메모리 관리 : 한정된 메모리를 어떤 프로세스에 얼만큼 할당해야 할지 관리 (3) 디스크 파일 관리 : 디스크 파일을 어떤 방법으로 보관할지 관리 (4) I/O 디바이스 관리 : I/O 디바이스 (마우스, 키보드)와 컴퓨터 간 데이터 주고받는 것 관리 2) 운영체제 구조 위의 형태가 운영체제의 구조적 형태이다. 1) GUI/CLI GUI : (그래픽 유저 인터페이스) 사용자..
- [스터디] CS 기술 면접 준비/CS_운영체제 [Operating System]
- · 2024. 1. 15.
최단 경로| 다익스트라, 벨만포드, 플로이드 비교
최단 경로 알고리즘 1) 다익스트라 : one-to-all (가중치는 양수만) 2) 벨만-포드 : ont-to-all (가중치 음수도 가능, 음수 사이클 여부 판단 시 多 사용) 3) 플로이드 : all-to-all 1) 다익스트라 (dijkstra) 알고리즘 | One-to-One 출발 노드→ 다른 모든 노드로의 최단 거리 구하는 알고리즘 특징은 엣지 (가중치)가 모두 양수 시간 복잡도 : O(E logV) → 특정 노드 (1개)에서 다른 노드들(all)에 대한 최단 거리 구하라는 문제가 주어졌을 때 ‘다익스트라’를 떠올려라 ⬛ 다익스트라 알고리즘 수행 과정 1) 인접 리스트로 그래프 표현 2) 최단 거리 distance[] 1차원 배열 선언 → 최초 초기화 시 Integer.MAX_VALUE로 초기화..
- 코딩 테스트 [준비]/[개념] 알고리즘 추가 정리 _ 2024
- · 2024. 1. 13.
백준 | 11657번. 타임머신 - 최단 경로 (벨만 포드) 문풀
⬛ 백준 11657번. 타임머신 - 벨만 포드 문풀 https://www.acmicpc.net/problem/11657 11657번: 타임머신 첫째 줄에 도시의 개수 N (1 ≤ N ≤ 500), 버스 노선의 개수 M (1 ≤ M ≤ 6,000)이 주어진다. 둘째 줄부터 M개의 줄에는 버스 노선의 정보 A, B, C (1 ≤ A, B ≤ N, -10,000 ≤ C ≤ 10,000)가 주어진다. www.acmicpc.net 문제 N개의 도시가 있다. 그리고 한 도시에서 출발하여 다른 도시에 도착하는 버스가 M개 있다. 각 버스는 A, B, C로 나타낼 수 있는데, A는 시작도시, B는 도착도시, C는 버스를 타고 이동하는데 걸리는 시간이다. 시간 C가 양수가 아닌 경우가 있다. C = 0인 경우는 순간 이..
- 코딩 테스트 [준비]/[문풀] Baekjoon_백준 문풀_조지기
- · 2024. 1. 13.
백준 | 11404번. 플로이드 - 최단경로 (플로이드) 문풀
⬛ 백준 11404번. 플로이드 - 최단경로 (플로이드 문풀) https://www.acmicpc.net/problem/11404 11404번: 플로이드 첫째 줄에 도시의 개수 n이 주어지고 둘째 줄에는 버스의 개수 m이 주어진다. 그리고 셋째 줄부터 m+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 버스의 출발 도시의 번호가 www.acmicpc.net 문제 n(2 ≤ n ≤ 100)개의 도시가 있다. 그리고 한 도시에서 출발하여 다른 도시에 도착하는 m(1 ≤ m ≤ 100,000)개의 버스가 있다. 각 버스는 한 번 사용할 때 필요한 비용이 있다. 모든 도시의 쌍 (A, B)에 대해서 도시 A에서 B로 가는데 필요한 비용의 최솟값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 도..
- 코딩 테스트 [준비]/[문풀] Baekjoon_백준 문풀_조지기
- · 2024. 1. 13.
백준 | 1753번. 최단 경로 - 최단 경로 (다익스트라) 문풀
⬛ 백준 1753번. 최단 경로 - 다익스트라 문풀 https://www.acmicpc.net/problem/1753 1753번: 최단경로 첫째 줄에 정점의 개수 V와 간선의 개수 E가 주어진다. (1 ≤ V ≤ 20,000, 1 ≤ E ≤ 300,000) 모든 정점에는 1부터 V까지 번호가 매겨져 있다고 가정한다. 둘째 줄에는 시작 정점의 번호 K(1 ≤ K ≤ V)가 www.acmicpc.net 문제 방향그래프가 주어지면 주어진 시작점에서 다른 모든 정점으로의 최단 경로를 구하는 프로그램을 작성하시오. 단, 모든 간선의 가중치는 10 이하의 자연수이다. 입력 첫째 줄에 정점의 개수 V와 간선의 개수 E가 주어진다. (1 ≤ V ≤ 20,000, 1 ≤ E ≤ 300,000) 모든 정점에는 1부터 V까..
- 코딩 테스트 [준비]/[문풀] Baekjoon_백준 문풀_조지기
- · 2024. 1. 13.
4회차 네트워크 | OSI 7계층 조사, TCP/IP 4계층, CORS 등 기술 면접 질문 정리
24.01.12 나온 질문 공유 네트워크 계층 설명 및 프로토콜 세션 계층 설명 전송계층의 특징 및 프로토콜 CORS 에 대해 간단 설명 굳이 OSI 7 계층으로 각 계층을 나눈 이유 전송계층에서 사용되는 프로토콜인 TCP에 대해 간단히 설명 포트번호가 식별할 수 있는 게 무엇인지(사용자 계층 - 프로세스, 커널 계층 - 서비스 ) 응용 계층에서 사용되는 프로토콜 HTTP에 대해 설명 대칭키, 비대칭키 차이 설명, 같이 사용하는 이유 : 대칭키 탈취 위험 때문에 먼저 비대칭키 방식으로 키 공유한 뒤에 통신은 대칭키 방식으로 한다. OSI 7 계층을 전체적으로 설명 google.com URL 입력 시 일어나는 동작 과정 설명 쿠키 vs 세션 차이 ‼️ 추가 | SSL/TLS 프로토콜은 어디 계층 소속일까 ..
- [스터디] CS 기술 면접 준비/CS_네트워크 [Network]
- · 2024. 1. 13.
4회차 네트워크 | OSI 7계층 조사, TCP/IP 4계층, CORS 등 내용 정리
OSI 계층 조사(각 알려진 유명 프로토콜) TCP/IP 4계층과 비교 CORS OSI 7 계층과 TCP/IP 4계층은 모두 네트워크에서 사용되는 통신 프로토콜의 집합으로, 각 계층들은 프로토콜의 네트워킹 범위에 따라 추상화된 계층에 해당한다. 각 계층은 독립적이므로 데이터 전달 동안 다른 계층의 영향을 받지 않도록 설계되어 있다. 다른 계층끼리는 데이터의 전달 과정을 구체적으로 알 필요가 없기 때문에, 데이터의 캡슐화와 은닉이 가능합니다. OSI 7 계층 네트워크에서 통신 일어나는 과정을 7단계로 나눈 것 국제 표준화 기구 (ISO)에서 네트워크 간의 호환을 위해 OSI 7계층 표준 네트워크 모델 만듬 (표준 = 4모델) [한 눈에 정리하기] 응용 계층 (Application Layer): 최종 사용자..
- [스터디] CS 기술 면접 준비/CS_네트워크 [Network]
- · 2024. 1. 12.
백준 | 9251번. 최장 공통 부분 수열(LCS) 찾기 - DP 문풀
⬛ 백준 9251번. 최장 공통 부분 수열(LCS) 찾기 - DP 문풀 https://www.acmicpc.net/problem/9251 9251번: LCS LCS(Longest Common Subsequence, 최장 공통 부분 수열)문제는 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 것을 찾는 문제이다. 예를 들어, ACAYKP와 CAPCAK의 LCS는 ACAK가 된다. www.acmicpc.net 문제 LCS(Longest Common Subsequence, 최장 공통 부분 수열)문제는 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 것을 찾는 문제이다. 예를 들어, ACAYKP와 CAPCAK의 LCS는 ACAK가 된다. 입력 첫째 줄과 둘째 줄에 두 문자..
- 코딩 테스트 [준비]/[문풀] Baekjoon_백준 문풀_조지기
- · 2024. 1. 11.
DP 알고리즘 | LCS (최장 길이 공통 부분 수열)
LCS (Longest Common Subsequence) 두 개의 문자열 X, Y가 주어졌을 때, X와 Y에서 공통으로 나타나는 부분 문자열을 찾고자 한다. 부분 문자열 길이가 최대가 되도록 부분 문자열 찾는 방법은 ? LCS 는 두 개의 문자열 X, Y가 주어졌을 때 공통의 부분 문자열 길이 최대값을 찾는 문제다. X = ABDCDC Y = ACADC => 두 문자열 최장 길이 공통 부분 수열은 길이 4의 "ACDC " 가 된다. DP[i][j] 의 정의 : 각 위치 인덱스를 각각 마지막 문자로 포함하는 두 문자열의 LCS 길이값 즉, A[i]와 B[j] 를 기준으로 경우를 나눠 D[i][j]에 최장 길이를 갱신해줘야 한다. => D[i][j]에 올 수 있는 값의 경우는 크게 4가지로 나눌 수 있다...
- 코딩 테스트 [준비]/[개념] 알고리즘 추가 정리 _ 2024
- · 2024. 1. 11.
백준 | 1890번. 점프 - DP 문풀
⬛ 백준 1890번. 점프 - DP 문풀 https://www.acmicpc.net/problem/1890 1890번: 점프 첫째 줄에 게임 판의 크기 N (4 ≤ N ≤ 100)이 주어진다. 그 다음 N개 줄에는 각 칸에 적혀져 있는 수가 N개씩 주어진다. 칸에 적혀있는 수는 0보다 크거나 같고, 9보다 작거나 같은 정수이며, 가장 www.acmicpc.net 문제 N×N 게임판에 수가 적혀져 있다. 이 게임의 목표는 가장 왼쪽 위 칸에서 가장 오른쪽 아래 칸으로 규칙에 맞게 점프를 해서 가는 것이다. 각 칸에 적혀있는 수는 현재 칸에서 갈 수 있는 거리를 의미한다. 반드시 오른쪽이나 아래쪽으로만 이동해야 한다. 0은 더 이상 진행을 막는 종착점이며, 항상 현재 칸에 적혀있는 수만큼 오른쪽이나 아래로 ..
- 코딩 테스트 [준비]/[문풀] Baekjoon_백준 문풀_조지기
- · 2024. 1. 11.
백준 | 11053번. 가장 긴 증가하는 부분 수열 - DP 문풀
⬛ 백준 11053번. 가장 긴 증가하는 부분 수열 - DP 문풀 https://www.acmicpc.net/problem/11053 11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net 문제 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} ..
- 코딩 테스트 [준비]/[문풀] Baekjoon_백준 문풀_조지기
- · 2024. 1. 10.
3회차 네트워크 | TCP, UDP/로드밸런싱/캐시 관련 기술 면접 질문 정리
24.01.09 나온 질문 공유 신뢰성을 보장한다고 했는데 구체적으로 어떤 상황들을 해결하는가? (4가지) UDP는 항상 신뢰성을 보장하지 않나요? TCP 혼잡 제어 알고리즘 UDP 헤더에 checksum 은 왜 존재하는가? 로드밸런싱 개념 및 부하 처리 방식 2가지 - Scale Out 시 서버에 트래픽을 분배 TCP 연결 설정 과정(3단계)과 연결 종료 과정(4단계)이 단계가 차이나는 이유는? TCP 와 UDP의 차이점 캐시에 대한 개념 만약 서버에서 FIN 플래그를 전송하기 전에 전송한 패킷이 Routing 지연이나 패킷 유실로 인한 재전송 등으로 인해 FIN 패킷보다 늦게 도착하는 상황이 발생하면 어떻게 될까 초기 Sequence Number인 ISN을 0부터 시작하지 않고 난수를 생성해서 설정하..
- [스터디] CS 기술 면접 준비/CS_네트워크 [Network]
- · 2024. 1. 8.
3회차 네트워크 | TCP, UDP/캐시/로드밸런싱 관련 정리
TCP vs UDP (TCP, UDP 특성) 캐시 로드밸런싱 → TCP와 UDP는 Transport Layer [전송 계층] 소속 프로토콜이다. 1. TCP와 UDP는 둘다 전송 계층에서 데이터를 보내기 위해 사용하는 프로토콜. 2. TCP는 연결형 서비스로 가상회선 방식을 제공하고 높은 신뢰성을 보장하며 흐름제어 및 혼잡 제어 기능을 제공한다. 3. UDP는 비연결형 서비스로 데이터그램 방식을 제공하고 패킷에 순서 부여나 재조립 등의 기능을 처리하지 않기 때문에 신속한 처리가 중요한 서비스에 사용된다. TCP, UDP [전송 계층] ⬛ TCP (Transmission Control Protocol) | 전송 제어 프로토콜 1) 개념 TCP : 연결형, 신뢰성 높은 프로토콜 (속도 느림) TCP는 패킷 ..
- [스터디] CS 기술 면접 준비/CS_네트워크 [Network]
- · 2024. 1. 8.