본문 바로가기

전체보기

(126)
[CS정리] 네트워크 웹 동작 방식 사용자가 브라우저에 URL을 입력 브라우저는 DNS 서버를 조회해 서버의 IP정보를 얻어온다 HTTP 프로토콜을 사용해 HTTP 요청 메세지를 생성하고, TCP/IP 연결을 통해 HTTP 요청이 웹 서버로 전송 서버는 HTTP 프로토콜을 활용해 HTTP 응답 메세지를 생성하고, 요청한 컴퓨터로 전송 도착한 HTTP 응답 메세지를 해석해 HTML을 화면에 랜더링하여 사용자가 볼 수 있도록 한다 TCP & UDP TCP(Transmission Control Protocal, 전송제어 프로토콜) 연결 지향형 서비스, 3-way handshaking 과정을 통해 연결을 설정 높은 신뢰성을 보장하지만 속도가 느림, 순차적인 전달을 하며, 신뢰할 수 있는 전송을 보장한다 UDP(User Datagra..
[Java] Java란? Java의 특징 Java란? 1995년 썬 마이크로시스템즈에서 발표한 프로그래밍 언어이다. C++에 비해 메모리와 CPU를 많이 사용해 윈도우 프로그래밍 언어로 부적합했지만, 인터넷이 활성화되며 웹 애플리케이션 구축 언어로 급부상 초기의 자바는 가전 제품에 탑재할 언어로 개발되었지만, 현재는 엔터프라이즈 기업환경에서 실행되는 서버 애플리케이션을 개발하는 중추적인 언어 ❓ 프로그래밍 언어란? 사람이 컴퓨터에 명령을 내릴 때에도 언어가 필요하지만 컴퓨터가 이해할 수 있는 언어는 기계어(machine language)이다. 0과 1로 이루어진 이진 코드이기 때문에 사람이 이해하기 어렵기 때문에 사람의 언어와 기계어의 다리 역할을 하는 프로그래밍 언어가 필요하다! 프로그래밍 언어는 고급 언어와 저급 언어로 구분된다. 저급 언어..
[프로그래머스] 광고 삽입 / 2021 KAKAO BLIND RECRUITMENT - JAVA 🔗 문제 링크 [프로그래머스] 광고 삽입 / 2021 KAKAO BLIND RECRUITMENT - JAVA 코딩테스트 연습 - 광고 삽입 시간을 나타내는 HH, H1, H2의 범위는 00~99, 분을 나타내는 MM, M1, M2의 범위는 00~59, 초를 나타내는 SS, S1, S2의 범위는 00~59까지 사용됩니다. 잘못된 시각은 입력으로 주어지지 않습니다. (예: 04:60:24, 11 programmers.co.kr 📝 풀이 과정 100시간을 초로 바꾼다면 360,000으로 순차 탐색이 가능하다는 생각이 들었다. 먼저 계산을 쉽게 하기 위해 모든 시간을 초로 변환하였고, playCnt배열을 만들어 동영상의 시작시간에 + 1을하고 종료 시간에 - 1을 해주었다. 다음으로 전체 배열을 순회하면서 이전..
[프로그래머스] 합승 택시 요금 / 2021 KAKAO BLIND RECRUITMENT - JAVA 🔗 문제 링크 [프로그래머스] 합승 택시 요금 / 2021 KAKAO BLIND RECRUITMENT 코딩테스트 연습 - 합승 택시 요금 6 4 6 2 [[4, 1, 10], [3, 5, 24], [5, 6, 2], [3, 1, 41], [5, 1, 24], [4, 6, 50], [2, 4, 66], [2, 3, 22], [1, 6, 25]] 82 7 3 4 1 [[5, 7, 9], [4, 6, 4], [3, 6, 1], [3, 2, 3], [2, 1, 6]] 14 6 4 5 6 [[2,6,6], [6,3,7], [4,6,7], [6,5,11], [2,5,12], [5,3,20], [2,4 programmers.co.kr 📝 풀이 과정 모든 정점 간의 거리를 구할 수 있는 플로이드 와샬을 사용했다. 플로..
[프로그래머스] 순위 검색 / 2021 KAKAO BLIND RECRUITMENT - JAVA 🔗 문제 링크 [프로그래머스] 순위 검색 / 2021 KAKAO BLIND RECRUITMENT
[프로그래머스] 메뉴 리뉴얼 / 2021 KAKAO BLIND RECRUITMENT - JAVA 🔗 문제 링크 [프로그래머스] 메뉴 리뉴얼 / 2021 KAKAO BLIND RECRUITMENT 코딩테스트 연습 - 메뉴 리뉴얼 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 programmers.co.kr 📝 풀이 과정 메뉴의 코스의 수가 주어지고, 코스의 수별로 가장 많이 시킨 메뉴 조합을 구하는 문제이다. 주문별로 가능한 2이상의 모든 조합을 구한다 조합된 메뉴의 수를 Map에 넣어가며 개수를 누적한다 위의 아이디어로 구현하였다. 먼저 메뉴의 수대로 모아보기 위해 Map courseMap을 생성하였다. 처음 Integer Key는 '메뉴의 수'이고, 이후로는 메뉴의..
🌐 TCP와 UDP 정리 1️⃣ TCP(Transfermission Control Protocol, 전송 제어 프로토콜) TCP로 전송할 때 붙이는 헤더를 TCP 헤더라 하고, 이 헤더가 붙은 데이터를 세그먼트(segment)라 한다 연결형 통신방식이며, 신뢰할 수 있는 데이터 전송을 보장 흐름 제어, 혼잡 제어, 오류 제어를 제공 ❓ 흐름 제어 데이터를 송수신하는 곳의 데이터 처리 속도를 조절해 수신자 버퍼 오버플로우를 방지하는 것 송신하는 곳에서 감당하지 못하도록 많은 데이터를 빠르게 보내 수신측에서 문제가 발생한다 stop and wait, 슬라이딩 윈도우 등을 사용 ❓ 혼잡 제어 네트워크 내 패킷 수가 넘치지 않도록 막는 것 정보의 소통량이 과다하면 조금만 전송하여 혼잡 붕괴 현상이 일어나는 것을 막는 것이다 연결 지향형..
[프로그래머스] 징검다리 건너기 / 2019 카카오 개발자 겨울 인턴십 - JAVA 🔗 문제 링크 [프로그래머스] 징검다리 건너기 / 2019 카카오 개발자 겨울 인턴십 코딩테스트 연습 - 징검다리 건너기 [2, 4, 5, 3, 2, 1, 4, 2, 5, 1] 3 3 programmers.co.kr 📝 풀이 과정 돌의 최솟값을 기준으로 이분탐색하는 방법을 사용했다. 범위는 돌의 크기인 1 ~ 200,000,000으로 지정해주었다. N-1번 니니즈까지 길을 건넜다고 가정하고 N번째 니니즈가 길을 건너는 차례라고 생각한다. K번 이내의 거리에 N이상의 값이 존재해야 길을 건널 수 있기 때문에 N미만의 값이 연속적으로 k개 이상 나온다면 길을 N번은 건널 수 없다는 의미가 된다. 따라서 범위를 줄여주고 다시 탐색을 시작해주고, 만약 연속 값이 k보다 작다면 길을 건널 수 있는 경우로 값을 저..