반응형

전체 글 265

탐욕법 - 단속카메라

이 문제는 단속 카메라를 한 번 이상 만나게 하기 위해서는 차량의 경로가 겹치는 부분에 카메라를 최소한으로 설치해야한다. 이때, 경로가 겹치는 부분에 카메라를 설치하면 해당 경로를 통과하는 모든 차량이 카메라를 만나게 된다. 문제 풀이1. routes를 고속도로를 나간 지점을 기준으로 오름차순 정렬2. routes[0][1]위치에 카메라를 설치3. 반복문을 통해 routes를 탐색하면서 routes[i][0](시작지점)이 마지막에 설치한 카메라 위치보다 크다면 카메라를 routes[i][1]에 설치한다.  고속도로를 수평선이라 생각하고 그림을 그리면 더 쉬울것이다.import java.util.*;class Solution { public int solution(int[][] routes) { ..

카테고리 없음 2024.09.28

TCP/IP 4계층 모델

인터넷 프로토콜 스위트(internet protocol suite)는 인터넷에서 컴퓨터들이 서로 정보를 주고받는 데 쓰이는 프로토콜의 집합이며, 이를 TCP/IP 4 계층 모델로 설명하거나 OSI 7층 모델로 설명하기도 한다. 계층 구조TCP/IP 게층은 4 개의 계층을 가지고 있으며 OSI 7 계층과 많이 비교한다.TCP/IP 계층과 달리 OSI 계층은 애플리케이션 계층을 세 개로 쪼개고 링크 계층을 데이터 링크 계층, 물리 계층으로 나눠서 표현하는 것이 다르며, 인터넷 계층을 네트워크 계층으로 부른다는 점이 다르다.예를 들어 전송 계층에서 TCP를 UDP로 변경했다고 해서 인터넷 웹 브라우저를 다시 설치해야 하는 것은 아니듯 유연하게 설계된 것이다. 애플리케이션 계층FTP, HTTP, SSH, SMT..

네트워크 2024.09.22

네트워크란?

네트워크는 컴퓨터 등의 장치들이 통신 기술을 이용하여 구축하는 연결망을 자칭하는 용어이다.네트워크를 이루는 계층, 장치 등에 대해 알아보자. 네트워크의 기초네트워크는 노드(node)와 링크(link)가 서로 연결되어 있으며 리소스를 공유하는 집합을 의미한다.노드(node) : 서버, 라우터, 스위치 등 네트워크 장치를 의미한다.링크 (link) : 유선 또는 무선을 의미한다.  처리량과 지연 시간네트워크를 구축할 때는 '좋은' 네트워크를 만드는 것이 중요하다. 그렇다면 좋은 네트워크는 무어일까?좋은 네트워크 : 처리량을 처리할 수 있으며 지연 시간이 짧고 장애 빈도가 적으며 좋은 보안을 갖춘 네트워크를 말한다. 처리량 처리량 (throughput) : 링크를 통해 전달되는 단위 시간당 데이터양처리량은 사..

네트워크 2024.09.22

Tree의 종류

Array, LinkedList, Stack, Queue 는 라임처럼 생긴 그냥 일직선의 데이터의 형태이다. 하지만 Tree는 부모, 자식 형태을 가진 구조이며, 계층이고 그룹이다. 이것을 가능하게 하는건 노드가 하나의 데이터를 가지고 있어서 가능하다. Tree는 부모가 자식을 알고 자식도 부모를 알고 있는 경우가 있다. 다른 경우로는 부모가 자식 노드를 알고 있지만 자식은 부모 노드를 모르는 경우도 있다. 그리고 자식 노드 에서 더 이상 노드가 없는경우 Leaf 라고 부른다.  Binary Tree (이진트리)부모 노드가 자식 노드를 2개 를 가진걸 Binary Tree 라고 한다. 하지만 노드에 무조건 2개의 노드만 붙으라는 법은 없다. 만약 3개의 노드가 붙은게 있다면 그것을 ternary Tree..

카테고리 없음 2024.09.22

서버 로직 아키텍쳐

DNS는 인터넷 브라우저를 사용하여 웹페이지에 접근 할 때 문자열을 가진 도메인으로 접근하는데, 이러한 도메인은 각각의 고유 주소인 IP를 가지고 있다.  우리가 주로 URL에 웹 브라우저 주소창에 www.naver.com  형식으로 작성을 할 것이다. 이는 우리가 외우기 쉽고, 쉽게 접근할수 있도록 되어 있는것이다. DNS를 조회하면 IP가 있고 그 IP의 주소안에 Port의 안내의 따라 웹 사이트에 접근이 가능하다.   CDN는 콘텐츠 전달 네트워크의 약자로 말 그대로, 컨텐츠를 전달하는 네트워크를 구성하는 것이다. 보통 웹 서버에 HTTP 요청을 하여 리소스를 가져오지만 웹 서버가 아니라 현재 사용자가 접속한 위치에서 가장 가까운 서버에 리소스를 캐싱 해놓고 보다 빠르게 가져오는 기법이다. 물론 네..

카테고리 없음 2024.09.10

DNS, CDN, NginX

DNS는 인터넷 브라우저를 사용하여 웹페이지에 접근 할 때 문자열을 가진 도메인으로 접근하는데, 이러한 도메인은 각각의 고유 주소인 IP를 가지고 있다.  우리가 주로 URL에 웹 브라우저 주소창에 www.naver.com  형식으로 작성을 할 것이다. 이는 우리가 외우기 쉽고, 쉽게 접근할수 있도록 되어 있는것이다. DNS를 조회하면 IP가 있고 그 IP의 주소안에 Port의 안내의 따라 웹 사이트에 접근이 가능하다.   CDN는 콘텐츠 전달 네트워크의 약자로 말 그대로, 컨텐츠를 전달하는 네트워크를 구성하는 것이다. 보통 웹 서버에 HTTP 요청을 하여 리소스를 가져오지만 웹 서버가 아니라 현재 사용자가 접속한 위치에서 가장 가까운 서버에 리소스를 캐싱 해놓고 보다 빠르게 가져오는 기법이다. 물론 네..

카테고리 없음 2024.09.08

서블릿 컨테이너(Servlet Container) 란?

서블리 컨테이너를 알기 위해서는 먼저 웹 서버(Web Server) 가 뭐인지 알아야 한다.  웹서버는 : 웹 페이지를 사용자에게 전송하는 서버이다.웹 서버는 데이터를 전송하기 위해 HTTP 프로토콜을 사용한다.일반적인 상황에서 사용자는 브라우저에 URL(https://wwww,naver.com)을 입력한다.그리고 사용자는 웹페이지를 얻게 된다.웹서버가 하는 일은 웹페이지를 사용자에게 전송하는 것한다. 서블릿 컨테이너란 ?서블릿 컨테이너: 서블릿들의 생성, 실행, 파괴를 담당한다.: 서블릿들을 위한 상자(Container)입니다.서버에 만들어진 서블릿이 스스로 작동하는 것이 아니라, 서블릿을 관리 해주는 것이 필요한데, 이러한 역할을 하는 것이 바로 서블릿 컨테이너 이다.즉, 서블릿을 '요구사항 명세서'..

카테고리 없음 2024.09.08

ES5와 ES6의 차이점

Javacript의 ES란 무엇인가?Javascript는 원래 넷스케이프에서 시작된 언어인데, 프로그래밍 언어들의 근간이라고 볼 수 있는 C언어보다 훨씬 나중에 개발된 언어이다. 자세한 역사는 해당 링크를 통해 가보면 될 것이다. -> 'Javacript란?'결과부터 말하면 ES라는 것은 'Javascript의 표준 규격'을 의미하는데, 이것이 탄생한 배경에는 '브라우저 전쟁'이라고 하는 웹 브라우저 시장에서의 점유율 싸움이 있었다. 넷스케이프 사에서 개발한 Javascript가 선풍적인 인기를 끌기 시작하자 마이크로소프트 사에서도 IE 3(우리가 알고있는 인터넷 익스플로러)에 JScript라는 이름으로 자바스크립트를 탑재했지만, 실제적으로는 둘의 내용이 매우 달라서 같은 기능을 구현하더라도 개발자들이 ..

카테고리 없음 2024.09.08

피로도

이 문제는 피로도 시스템( 0 이상의 정수로 표현한다.)이 있으며, 일정 피로도를 사용해서 던전을 탐험할 수 있다. 이때, 각 던전마다 탐험을 시작하기 위해 필요한 "최소 필요 피로도"와 던전 탐험을 마쳤을 때 소모되는 "소모 피로도"가 있다."최소 필요 피로도"는 해당 던전을 탐험하기 위해 가지고 있어야 하는 최소한의 피로도를 나타내며, "소모 피로도"는 던전을 탐험한 후 소모되는 피로도를 나타낸다. 예를 들어 "최소 필요 피로도"가 80, "소모 피로도"가 20인 던전을 탐험하기 위해서는 유저의 현재 남은 피로도는 80 이상 이어야 하며, 던전을 탐험한 후에는 피로도 20이 소모된다.import java.util.*;class Solution { static int answer = 0; s..

카테고리 없음 2024.09.06

java 8 예제 코드

주요 변경사항Java 8의 주요 변경 사항은 아래와 같다. Lambda expression(람다 표현식)Functional interface(함수형 인터페이스)Default method(디폴트 메서드)Stream(스트림)Optional(옵셔널)  1. Lambda expression(람다 표현식)메서드로 전달할 수 있는 Anonymous function(익명 함수)를 단순한 문법으로 표기한 것을 람다 표현식이라고 한다. 글로는 설명이 어려우니 바로 코드를 보자. Thread 객체를 생성하여 동작시키는 코드다. 위 두 코드는 동일한 결과이지만 문법만 다르게 사용했을 뿐이다. 이번에는 자세히 람다 표현식의 구성을 살펴보자.// 익명 클래스로 Runnalbe을 구현Thread thread = new Threa..

카테고리 없음 2024.08.31
반응형