문제 https://www.acmicpc.net/problem/15684 15684번: 사다리 조작 사다리 게임은 N개의 세로선과 M개의 가로선으로 이루어져 있다. 인접한 세로선 사이에는 가로선을 놓을 수 있는데, 각각의 세로선마다 가로선을 놓을 수 있는 위치의 개수는 H이고, 모든 세로선 www.acmicpc.net 풀이 DFS로 간단하게 풀 수 있는 문제 접근법 간단한 접근법으로 최대 3개까지의 사다리를 두었을 때의 모든 형태에서 유효성 검사를 수행하는 식으로 접근할 수 있음. 우선 입력으로 들어오는 모든 M개의 사다리를 배열에 저장 주의할 점으로 배열의 크기는 NM이 아닌 NH임 사다리를 표시할 때는 두가지 방법이 존재 해당 좌표에만 1이라는 값으로 표시 → 오른쪽에서 왼쪽으로 가는 경우는 [r][..
본 포스팅은 네트워크 스터디를 기반으로 개인 정리를 위한 포스팅입니다. 잘못된 부분이 있다면 언제든 지적해주시면 감사하겠습니다! 초창기 웹 서비스 구조 문서를 다루는 프로그램은 자료구조, UI, 제어체계 3가지 요소로 구성됨 유지보수의 편의성을 위해 위 3가지를 나누어서 각자 관리 문서는 자료구조에 해당됨 자료구조 중 DOM(비선형 트리)으로 이루어짐 HTTP 통신 웹 서비스를 위한 클라이언트와 서버간의 통신 프로토콜로는 HTTP가 있음 HTTP의 버전의 성장 : 0.9 -> 1.0 → 1.1 → 2.0 → 3.0(현재) 우선 HTTP프로토콜의 대전제로 클라이언트 - 서버 간의 TCP/IP연결이 되어있다는하에 HTTP통신이 이루어질 수 있다는 걸 알아야 함. HTTP의 가장 큰 특징으로는 Stateles..
본 포스팅은 네트워크 스터디를 기반으로 개인 정리를 위한 포스팅입니다. 잘못된 부분이 있다면 언제든 지적해주시면 감사하겠습니다! 배경지식 웹은 지식 공유를 위해 고안됨. CERN(유럽 입자 물리학 연구소)의 팀 버너스 리(Tim Berners-Lee) 선생님께서 멀리 떨어져 있는 동료와 지식을 공유하기 위해 WWW(World Wide Web)의 하이퍼 텍스트(HyperText) 시스템을 고안하여 개발함. HTML(Hyper Text Markup Language) 프로그래밍 언어가 아니라 마크업 정보를 표현하는 마크업 언어로 문서의 내용 이외의 문서의 구조나 서식 같은 것을 포함 HTML의 문자들을 분석해보자면 하이퍼텍스트(Hypertext): 관련 항목을 연결하기 위해 구성된 텍스트(종종 이미지 등 삽입..
본 포스팅은 네트워크 스터디를 기반으로 개인 정리를 위한 포스팅입니다. 잘못된 부분이 있다면 언제든 지적해주시면 감사하겠습니다! MAC 주소 MAC주소(media access control address, MAC address)는 네트워크 세그먼트의 데이터 링크 계층에서 통신을 위한 네트워크 인터페이스에 할당된 고유 식별자이다. MAC 주소는 매체 접근 제어 프로토콜이라는 OSI 모델의 하위 계층에서 사용된다. MAC 주소는 대체적으로 네트워크 인터페이스 컨트롤러(NIC)의 제조업체가 할당하며 하드웨어에 저장됨. 네트워크 인터페이스 컨트롤러(NIC) 컴퓨터를 네트워크에 연결하여 통신하기 위해 사용하는 하드웨어 장치 네트워크 카드(network card), 랜 카드, 물리 네트워크 인터페이스(physica..
본 포스팅은 네트워크 스터디를 기반으로 개인 정리를 위한 포스팅입니다. 잘못된 부분이 있다면 언제든 지적해주시면 감사하겠습니다! 네트워크 모델 네트워크 계층 모델에는 2가지가 있음. TCP/IP 모델 현재의 인터넷에서 컴퓨터들이 서로 정보를 주고받는데 쓰이는 통신 규약(프로토콜)의 모음. OSI 7계층 ISO에서 표준으로 지정한 모델 데이터를 주고받을 때 데이터 자체의 흐름을 각 구간별로 나눠 놓은 것 OSI 7계층 모델의 계층별 프로토콜 두 모델 비교 공통점 계층적 네트워크 모델 계층간 역할 정의 차이점 계층의 수 차이 OSI는 역할 기반, TCP/IP는 프로토콜 기반 OSI는 통신 전반에 대한 표준 TCP/IP는 데이터 전송기술 특화 패킷 Concept 네트워크 상에서 전달되는 데이터를 통칭하는 말로..
문제 https://www.acmicpc.net/problem/13460 13460번: 구슬 탈출 2 첫 번째 줄에는 보드의 세로, 가로 크기를 의미하는 두 정수 N, M (3 ≤ N, M ≤ 10)이 주어진다. 다음 N개의 줄에 보드의 모양을 나타내는 길이 M의 문자열이 주어진다. 이 문자열은 '.', '#', 'O', 'R', 'B' www.acmicpc.net https://www.acmicpc.net/problem/13459 13459번: 구슬 탈출 첫 번째 줄에는 보드의 세로, 가로 크기를 의미하는 두 정수 N, M (3 ≤ N, M ≤ 10)이 주어진다. 다음 N개의 줄에 보드의 모양을 나타내는 길이 M의 문자열이 주어진다. 이 문자열은 '.', '#', 'O', 'R', 'B' www.acm..
본 포스팅은 인프런 공룡책 강의를 기반으로 한 스터디 개인 정리를 위한 포스팅입니다. 잘못된 부분이 있다면 언제든 지적해주시면 감사하겠습니다! Concept 멀티 프로그래밍 된 운영체제에서 적용하는 개념 💡 멀티 프로그래밍이란? ⇒ 한 개의 프로세서가 하나의 프로세스를 수행하는 동안 다른 프로세스에 접근할 수 있도록 하는 방법 ⇒ 멀티 프로그래밍을 하려면 CPU의 처리속도가 빠르고 남는 시간이 있는 경우 Context Switching을 통해 다수의 프로세스를 접근할 수 있어야 함. 간단하게 설명해서 Ready Queue에 있는 프로세스들 중에 어떤 것을 Running Queue에 넣어 CPU할당을 시킬 것인지를 CPU Scheduling이라 함. 단순히 FIFO-Queue를 통해 먼저 큐에 들어온 프로..
본 포스팅은 인프런 공룡책 강의를 기반으로 한 스터디 개인 정리를 위한 포스팅입니다. 잘못된 부분이 있다면 언제든 지적해주시면 감사하겠습니다! Overview 메모리 상에 여러개의 프로세스가 적재되어있고 하나의 CPU가 Context Switch를 통해 작업이 수행되는 멀티 프로그래밍 구조를 배웠음. 하나의 프로세스가 여러개의 threads of control을 가질 수 있음. 프로세스(process)란? 프로세스(process)란 단순히 실행 중인 프로그램(program) 즉, 사용자가 작성한 프로그램이 운영체제에 의해 메모리 공간을 할당받아 실행 중인 것. 이러한 프로세스는 프로그램에 사용되는 데이터와 메모리 등의 자원 그리고 스레드로 구성. 스레드(thread)란? 스레드(thread)란 프로세스(..