Binary Search : lower bound & upper bound Binary Search (이진 탐색) 이진 탐색은 정렬이 된 데이터에서 어떠한 특정 값이 존재하는지 검색하는 알고리즘이다. 기준 값을 구해서 그 값을 기준으로 데이터를 나눠서 검색하는 방법이다. 특정 값을 찾을 때는 기본 이진 탐색으로 쉽게 구할 수 있다. 하지만 중복된 데이터에서 탐색할 때는 조금 더 응용된 방법을 사용해야한다. (예를 들어, 중복 된 데이터에서 특정 데이터가 몇 개가 존재하는지 등) 따라서 lower bound와 upper bound를 구해야한다. Lower bound는 데이터 내에서 특정 값보다 같거나 큰 값이 처음 나오는 위치를 리턴해준다. High Bound는 특정 값보다 처음으로 큰 값이나 나오는 위치..
징검다리 문제 설명 출발지점부터 distance만큼 떨어진 곳에 도착지점이 있습니다. 그리고 그사이에는 바위들이 놓여있습니다. 바위 중 몇 개를 제거하려고 합니다. 예를 들어, 도착지점이 25만큼 떨어져 있고, 바위가 [2, 14, 11, 21, 17] 지점에 놓여있을 때 바위 2개를 제거하면 출발지점, 도착지점, 바위 간의 거리가 아래와 같습니다. 제거한 바위의 위치 각 바위 사이의 거리 거리의 최솟값 [21, 17] [2, 9, 3, 11] 2 [2, 21] [11, 3, 3, 8] 3 [2, 11] [14, 3, 4, 4] 3 [11, 21] [2, 12, 3, 8] 2 [2, 14] [11, 6, 4, 4] 4 위에서 구한 거리의 최솟값 중에 가장 큰 값은 4입니다. 출발지점부터 도착지점까지의 거..
입국심사 문제 설명 n명이 입국심사를 위해 줄을 서서 기다리고 있습니다. 각 입국심사대에 있는 심사관마다 심사하는데 걸리는 시간은 다릅니다. 처음에 모든 심사대는 비어있습니다. 한 심사대에서는 동시에 한 명만 심사를 할 수 있습니다. 가장 앞에 서 있는 사람은 비어 있는 심사대로 가서 심사를 받을 수 있습니다. 하지만 더 빨리 끝나는 심사대가 있으면 기다렸다가 그곳으로 가서 심사를 받을 수도 있습니다. 모든 사람이 심사를 받는데 걸리는 시간을 최소로 하고 싶습니다. 입국심사를 기다리는 사람 수 n, 각 심사관이 한 명을 심사하는데 걸리는 시간이 담긴 배열 times가 매개변수로 주어질 때, 모든 사람이 심사를 받는데 걸리는 시간의 최솟값을 return 하도록 solution 함수를 작성해주세요. 제한사항..
JVM : Java Virtual Machine JVM 이란 JVM : Java Virtual Machine, 자바 가상 머신의 약자를 줄여서 부르는 용어이다. JVM의 역할은 자바 어플리케이션을 클래스 로더를 통해 읽어 들여 자바 API와 함께 실행하는 것이다. 그리고 JVM은 JAVA와 OS사이에서 중개자 역할을 수행하여 운영체제에 독립적인 플랫폼을 갖게 한다. 즉, 운영체제에 맞는 JVM을 설치한다면 자바 프로그램을 실행시킬 수 있다. JVM은 프로그램의 메모리 관리를 알아서 해준다. C프로그램 같은 경우에는 직접 메모리 할당을 해주고 해지야하지만, 자바에서는 JVM이 자동으로 메모리를 관리, GC를 수행해준다. JVM 실행과정 프로그램이 실행되면 JVM은 OS로부터 이 프로그램이 필요로 하는 메모..
Singleton 싱글톤이란? 특정 클래스에 대한 인스턴스를 최초 단 한 번만 static 메모리에 할당하고 해당 클래스에 대한 생성자를 여러번 호출하더라도 실제로 생성된 객체는 하나이고 최초에 생성한 객체를 반환하는 디자인 패턴이다. (생성자를 private으로 선언해서 생성을 못하도록 하고 getInstance()로 객체를 받아서 사용한다. ) 즉, 어플리케이션의 특정 클래스에 대한 유일 객체를 보장하는 디자인 패턴이다. 싱글톤 패턴을 사용하는 이유 싱글톤 패턴이 적용된 클래스에 대한 new 연산을 수행하더라도 이미 한 번 할당된 메모리 영역의 인스턴스를 사용하기 때문에 메모리 낭비를 방지할 수 있다. Static 객체이기 때문에 다른 클래스의 객체들이 데이터를 공유하기 쉽다. 한 번 객체를 생성하면..
JAVA : Interface 인터페이스 란? 인터페이스는 구현은 하지않고 모드 기능을 추상화로 정의한 상태 즉, 모든 메소드의 선언만 정의한 추상메서드의 모음이다. 인터페이스는 상수(final) 변수와 추상 메서드만 가질 수 있다. 인터페이스는 구현과 상속을 둘 다 할 수 있다. 인터페이스 사이에는 상속을 할 수 있다. (다중 상속가능) 인터페이스를 implements하는 클래스는 해당 인터페이스를 구현해야한다. 인터페이스 역할 자식클래스에서 상속받아 사용되므로 다형성 (공통적인 부분을 추상화했기 때문에 ) 개발자 사이의 코드 규약이 될 수 있다. 프로그램 유지보수성 쉽게 말하자면 같은 목적 하에 같은 기능을 수행하게하기 위해서 강제로 같은 기능의 함수를 정의하여 구현하게 하는 것이다. 인터페이스를 사..
- Total
- Today
- Yesterday
- programmers
- java
- Process Scheduling
- SRTN
- 농협정보시스템IT
- DFS
- git
- MLQ
- SWExpert
- loss function
- hashtable
- 프로그래머스
- hash
- 사회망서비스
- 백트래킹
- MFQ
- 자료구조
- 백 트래킹
- binarySearch
- 4-way-handshake
- Objective function
- 알고리즘
- algorithm
- 네트워크
- 기능개발
- 프로세스 스케줄링
- 우선순위큐
- Android
- N-Queen
- 3-way-handshake
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |