Computer Science (252) 썸네일형 리스트형 현재 날짜, 현재 시간 구하기 Java API를 사용하여 현재 날짜, 현재 시간을 구하는 방법을 소개합니다. Java 8 이후 java.time.LocalDate java.time.LocalTime java.time.LocalDateTime Java 8 이전 java.util.Date java.util.Calendar Java 8 이후 Java 8 이후부터는 java.time 패키지의 클래스들을 사용하여 날짜와 시간을 표현합니다. 그리고, java.time.format.DateTimeFormatter 클래스를 이용하여 날짜와 시간을 원하는 형식으로 출력할 수 있습니다. 1. java.time.LocalDate java.time.LocalData 클래스는 날짜를 표현하는 클래스입니다. 현재 날짜(타임존 적용) 구하기 import jav.. referece by call vs value by call 제곧내 Priority Queue(우선순위 큐) 최근 알고리즘 문제를 한개씩 풀다보면 풀다보면 자주 최대 힙, 최소 힙을 구현하여 사용해야 되는 경우가 생깁니다. (예를 들면 위상정렬, 최대값 뽑아내기 등) 자바에서는 현재 PriorityQueue를 이용하여 최대 힙, 최소 힙을 간단하게 사용할 수 있도록 제공해주고 있습니다. 다음은 최대 힙, 최소 힙에 대한 간단한 예시입니다. public void init() throws IOException{ PriorityQueue minHeap = new PriorityQueue(); System.out.println("최소 힙"); runHeapTest(minHeap); PriorityQueue maxHeap = new PriorityQueue(Collections.reverseOrder()); System.. 3-way Handshake * TCP 3-way Handshake 란? TCP는 장치들 사이에 논리적인 접속을 성립(establish)하기 위하여 three-way handshake를 사용한다. TCP 3 Way Handshake는 TCP/IP프로토콜을 이용해서 통신을 하는 응용프로그램이 데이터를 전송하기 전에 먼저 정확한 전송을 보장하기 위해 상대방 컴퓨터와 사전에 세션을 수립하는 과정을 의미한다.. Client > Server : TCP SYN Server > Client : TCP SYN ACK Client > Server : TCP ACK 여기서 SYN은 'synchronize sequence numbers', 그리고 ACK는'acknowledgment' 의 약자이다. 이러한 절차는 TCP 접속을 성공적으로 성립하기 위하여.. Binary Search Tree(이진 탐색 트리) 이진 탐색 트리란 정렬된 이진트리로써 다음과 같은 속성을 가지고 있습니다. 노드의 왼쪽 하위 트리에는 노드의 키보다 작은 키가있는 노드 만 포함됩니다 노드의 오른쪽 하위 트리에는 노드의 키보다 큰 키가있는 노드 만 포함됩니다. 왼쪽 및 오른쪽 하위 트리도 각각 이진 검색 트리 여야합니다. 중복된 키를 허용하지 않습니다. 검색/삽입 시간복잡도 위에서 검색/삽입 연산을 살펴보시면 아시겠지만, 모든 원소를 탐색하지 않는것이 특징입니다. 최악의 경우는 트리의 높이 만큼 탐색하는 경우라 볼 수 있겠습니다. 따라서 높이가 H 인경우의 검색/삽입의 시간 복잡도는 O(H) 입니다. 하지만, 시간복잡도는 원소의 개수로 표기할 때, 조금 더 좋은 표현이라 할 수 있습니다. H 를 원소의 개수 N 으로 표현해볼 수 없을까요.. 프로그래머스 - 뉴스 클러스터링 public int solution(String str1, String str2) { List multiSet1 = new ArrayList(); List multiSet2 = new ArrayList(); List intersection = new ArrayList(); List union = new ArrayList(); str1 = str1.toUpperCase(); str2 = str2.toUpperCase(); for (int i = 0; i < str1.length() - 1; i++) { char a = str1.charAt(i); char b = str1.charAt(i+1); if (Character.isLetter(a) && Character.isLetter(b)) { multiSet1.. Restful api 규칙 Restful api 설계시 가장 중요한 항목은 다음 2가지로 나눌 수 있습니다. 1-1 REST API 중심 규칙 1. URI는 정보의 자원을 표현해야 한다. 2. 자원에 대한 행위는 HTTP Method(GET, POST, PUT, DELETE)로 표현한다. 1) URI는 정보의 자원을 표현해야 한다. GET /members/delete/1 다음의 행위는 REST를 제대로 적용하지 않은 URI입니다. URI는 자원을 표현하는데 중점을 두어야 합니다. Delete와 같은 행위에 대한 표현이 들어가서는 안된다. 2) 자원에 대한 행위는 HTTP Method(GET, POST, PUT, DELETE)로 표현한다. 위의 경우를 수정하면 DELETE /members/1 와 같은 형태로 수정이 가능하다. 실제로.. LinkedList vs ArrayList ArrayList vs LinkedList 차이 List 인터페이스의 구현체는 뭐가 있을까요? Stack, Vector, ArrayList, LinkedList가 있습니다. 이 중에서도 대표적인 클래스인 ArrayList, LinkedList 차이에 대해 정리해보겠습니다. ArrayList란? ArrayList는 중복을 허용하고 순서를 유지하며 인덱스로 원소들을 관리한다는 점에서 배열과 상당히 유사합니다. 배열은 크기가 지정되면 고정되지만 ArrayList는 클래스이기 때문에 배열을 추가, 삭제 할 수 있는 메소드들도 존재합니다. 하지만 추가했을 때 배열이 동적으로 늘어나는 것이 아니라 용량이 꽉 찼을 경우 더 큰 용량의 배열을 만들어 옮기는 작업을 하게 됩니다. 내부 코드를 보면서 ArrayList에 .. 이전 1 ··· 17 18 19 20 21 22 23 ··· 32 다음