TCP (Transmission Control Protocol) TCP는 신뢰성 있는 데이터 전송을 지원하는 연결 지향형 프로토콜이다. TCP는 네트워크에 연결된 컴퓨터에서 실행되는 프로그램 간 안정적으로, 순서를 지키며, 에러없이 교환할 수 있게 한다. TCP의 특징은 다음과 같다. 1. 연결형 서비스로 가상 회선 방식 이용 : 3way handshaking 과정을 통해 연결을 설정하고, 4way handshaking 과정을 통해 연결을 해제한다. 2. 흐름 제어 (Flow Control) : 데이터 처리 속도를 조절해 수신자의 버퍼 오버플로우를 방지한다. 3. 혼잡 제어 (Congestion Control) : 네트워크 내 패킷 수가 과도하게 증가하지 않도록 방지한다. 4. 높은 신뢰성을 보장 : 신..
참고: https://school.programmers.co.kr/learn/courses/30/lessons/151141 ✔️ 문제 문제는 다음과 같다. ✔️ 풀이 예시는 다음과 같다. 중간에 있는 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 트럭에 해당하는 자동차 대여 기록의 요금과 대여 기간과 할인율을 각각 뽑아서 대여 기간에 따른 할인이 적용된 가격은 얼마인가에 대해서 출력하는 문제이다. 1) CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블과 CAR_RENTAL_COMPANY_CAR을 조인하여 대여 기록 ID와 요금, 대여 기간의 차이 뽑기 2) 뽑은 각 컬럼에 대해서 할인율과 대여 기간에 따른 요금에 곱셈을 진행하고 조건에 맞게 분리하기 WITH N..
참고: https://school.programmers.co.kr/learn/courses/30/lessons/132204 ✔️ 문제 문제는 다음과 같다. ✔️ 풀이 예시를 보게 되면, 예약 일시가 2022-04-13인 환자들 중 흉부외과(CS)의 진료 내역을 출력해야한다. 1) PT_NAME과 DR_NAME이 APPOINTMENT 테이블에 없으므로 JOIN 2) APNT_YMD가 '2022-04-13'인 조건 생성 3) MCDP_CD가 'CS'인 조건 생성 4) 예약이 취소되지 않은 APNT_CNCL_YN이 'Y'가 아닌 조건 생성 SELECT A.APNT_NO, B.PT_NAME, A.PT_NO, A.MCDP_CD, C.DR_NAME, A.APNT_YMD FROM APPOINTMENT A JOIN P..
참고: https://school.programmers.co.kr/learn/courses/30/lessons/59411 ✔️ 문제 문제는 다음과 같다. ✔️ 풀이 다음과 같이 주어진 예시를 확인해보면 OUTS 테이블에서 INS 테이블을 뺀 시간의 길이가 가장 긴 즉, 입양을 보내기까지의 보호 기간이 가장 긴 동물 두 마리의 아이디와 이름을 조회하면 된다. SELECT ANIMAL_ID, NAME FROM ( SELECT B.ANIMAL_ID, B.NAME, DATEDIFF(B.DATETIME, A.DATETIME) as DATE FROM ANIMAL_INS A JOIN ANIMAL_OUTS B ON A.ANIMAL_ID = B.ANIMAL_ID ORDER BY DATE DESC LIMIT 2) as N..
참고: https://school.programmers.co.kr/learn/courses/30/lessons/151138 ✔️ 문제 문제는 다음과 같다. ✔️ 풀이 다음처럼 START_DATE와 END_DATE는 년-월-일만 출력해야하고, END - START의 날짜 뺀 값이 30일 이상이면 장기 대여, 아니면 단기 대여라는 RENT_TYPE의 새로운 컬럼에 데이터를 추가해야한다. 또한, 대여 시작일이 9월인 경우에만 출력하고, ID 순으로 내림차순 정렬해야한다. SELECT HISTORY_ID, CAR_ID, DATE_FORMAT(START_DATE, '%Y-%m-%d') as START_DATE, DATE_FORMAT(END_DATE, '%Y-%m-%d') as END_DATE, IF(DATEDIF..
참고: https://school.programmers.co.kr/learn/courses/30/lessons/42842 ✔️ 문제 문제는 다음과 같다. ✔️ 풀이 예제에 나와있는 것 같이 10개의 갈색과 2개의 노란색이 주어졌을 때, 맨윗줄과 아랫줄 4개 및 왼쪽 오른쪽 1개씩 해서 10개이고 가운데에 노란색 2개가 들어가는데 이는 가로가 4, 세로가 3으로 이루어진 직사각형과 같다. def solution(brown, yellow): result = brown + yellow n = result // 2 data = [] for i in range(1, n+1): if result % i == 0: data.append(i) data.append(result//i) data = sorted(list(..