본문 바로가기

CS13

프로그래머스 - 거리두기 확인하기 [Java, Javascript] https://school.programmers.co.kr/learn/courses/30/lessons/81302 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 설명개발자를 희망하는 죠르디가 카카오에 면접을 보러 왔습니다.코로나 바이러스 감염 예방을 위해 응시자들은 거리를 둬서 대기를 해야하는데 개발 직군 면접인 만큼아래와 같은 규칙으로 대기실에 거리를 두고 앉도록 안내하고 있습니다.대기실은 5개이며, 각 대기실은 5x5 크기입니다.거리두기를 위하여 응시자들 끼리는 맨해튼 거리가 2 이하로 앉지 말아 주세요.단 응시자가 앉아있는 자리 사이가 파티션으로 막혀 있을 경우에는 허용합니다 5개의 대기실을.. 2025. 3. 18.
[응용 계층] SMTP, FTP, TELNET, DNS, SNMP 등이 존재한다. 세션 계층응용프로그램의 계층 간 통신을 제어하는 구조를 제공하기 위해 응용 프로그램 계층 사이의 접속을 설정, 유지, 종료 하는 역할데이터 단위: 메시지 NetBIOS는 네트워크에 있는 시스템 간에 지속적으로 통신하기 위해 세션 유지, 오류 감지와 복구 등을 처리 표현 계층데이터 표현의 차이를 해결하기 위해 서로 다른 형식으로 변환하거나 공통 형식을 제공하는 계층 표현 계층의 기능- 암호화- 압축- 코드 변환 응용 계층응용 계층 기능- 파일 접근 및 전송- 메일 서비스 프로토콜프로토콜 별 포트번호 - FTP(21 PORT 서버 포트 번호, 20 port는 데이터 전송) 인터넷에서 파일을 전송하는 기본 프로토콜- HTTP(80 PORT)1.. 2024. 12. 15.
[MST] N개의 핀을 두개씩 연결하기 위해서는 N-1개의 선이 필요하다. 여기서 방향이 없는 그래프 G = (V, E)가 사용되며 V는 핀의 집합, E는 핀 쌍의 가능한 연결 집합이다. 그리고 각 edge(u,v)는 E에 포함된다. 가중치(w)s는 u와v를 연결하는 데 드는 비용을 나타낸다. MST의 목표는 모든 노드를 연결할 때(비순환) 총 비용이 가장 적은 순환을 찾는 것이다.그래프 T는 비순환적이고 모든 정점을 연결하므로, 이는 하나의 트리를 형성하게 된다. 이는 그래프 G를 "포괄(spans)"하기 때문에 스패닝 트리(spanning tree)라고 부른다. T를 결정하는 문제를 우리는 최소신장 트리 문제로 부르기로 하였다.다음 그림은 연결된 그래프와 최소신장 트리 문제의 예시를 보여준다.이 챕터에서 우리는.. 2024. 12. 15.
[Symbol Table - BST] 부모 키는 왼쪽 트리 키보다 크고 오른쪽 트리 키보다 작은 값을 만족한다는 이진트리이다. 탐색삽입키가 이미 있을 경우: 값 업데이트없을 경우: 새 노드 생성Worst Case삽입 순서에 따라 트리는 N개의 레벨을 가질수도 있다.  Random순서를 랜덤하게 한다면 삽입과 검색은 평균 2 ln N 값을 가진다.평균 트리 높이는 4.311 ln N이다.하지만 Worst Case에서는 N의 높이를 가진다.Ordered Operations BSTMinimum가장 작은 키Maximum가장 큰 키Floor주어진 키보다 작거나 같은 키 중 가장 큰 키Ceiling주어진 키보다 크거나 같은 키 중 가장 작은 키Floor 방법찾으려는 키가 k일때 루트에 k가 있을 경우 k의 floor는 kk가 루트 키보다 작을 때 k의.. 2024. 12. 15.
[네트워크 계층] 프로토콜의 이해프로토콜은 서로 다른 시스템에 있는 개체 간에 성공적으로 데이터를 전송하는 통신 규약 개체에는 데이터베이스 관리 시스템, 전자우편 시스템, 사용자 프로그램 등이 해당 시스템은 하나 이상의 개체를 보유한 컴퓨터를 의미 프로토콜은 계층적 구조로 정의 되고 각 계층의 역할을 구분 프로토콜은 시스템 간의 통신과 관련된 복잡한 상호 작용을 세분화하여 계층화 한 것이해하기 쉽고 각 계층 간 표준 인터페이스가 정의됨다른 업체의 시스템과도 호환이 가능 프로토콜은 두 나라 간의 의정서 또는 의례에서 유래된 용어로 네트워크에서 두 시스템 간에 무엇을 언제 어떻게 통신할 것인지 미리 정해놓은 약속네트워크는 서로 다른 기종의 컴퓨터로 구성되어 있어 네트워크 간에 공통으로 사용할 수 있는 프로토콜의 필요성이 대두.. 2024. 12. 9.
[Symbol Table] 컴퓨터 과학에서 심볼 테이블(symbol table)은 컴파일러나 인터프리터에서 사용되는 데이터 구조로, 프로그램 소스 코드에 사용된 각 식별자(또는 심볼, 언어 번역기에서 사용하는 심볼)에 그 선언이나 소스에서의 등장과 관련된 정보를 연결하여 저장한다.-위키피디아- 심볼 테이블의 아이디어는 각 키마다 하나의 값을 연관짓는 것이다.따라서 키-밸류 쌍의 추상화이다. 심볼 테이블의 ADT는 다음과 같다. value는 null 값이 될 수 없으며 주어진 키를 통해 해당 키에 대응하는 값을 검색할 수 있다. 중복 키 문제 해결하기사용자 정의 타입(user-defined types)을 비교하거나 해시 코드를 계산할 때의 표준 방법은 다음과 같다. 1. 참조 동등성에 대한 최적화2. null 체크3. 두 객체가 동.. 2024. 12. 4.