| 일 | 월 | 화 | 수 | 목 | 금 | 토 | 
|---|---|---|---|---|---|---|
| 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 | 
- programmers
- greedy
- ArrayList
- 우선순위 큐
- 브루트포스
- two pointers
- Array
- 리트코드
- priority queue
- binary tree
- leetcode
- coding
- Algorithm
- HashMap
- 알고리즘
- PCCP
- 부분배열
- DP
- Java
- string
- dfs
- hashset
- recursion
- 깊이우선탐색
- 재귀함수
- Today
- Total
목록Algorithm (53)
지식창고
[Java] LeetCode 1011. Capacity To Ship Packages Within D Days 문 제 : 짐의 무게를 뜻하는 일차원 정수배열로 이루어진 weights[] 가 주어진다. 그리고 나눠서 운반해야하는 날짜 days가 주어진다. 이 짐들을 배에 실어서 days에 걸쳐 모두 날라야한다. 배의 용량을 최소로 해서 나를수 있는 용량을 구하여라. Constraint { 1 capacity의 최대 설정 int capaMax = Arrays.stream(weights).sum(); // while을 반복하면서 capacity의 범위를 좁혀가면서 찾는 방법이다. -> 목표는 capaMax를 최대한 줄이는 것. while(capaMin < capaMax){ int mid = (capaMin +..
[Java] LeetCode 122. Best Time to Buy and Sell Stock II 문 제 : 주식의 가격을 담은 일차원 정수배열 prices가 주어진다. prices[i] 는 그 날 주식의 가격이다. 사용자는 주식을 한 가지만 가지고 있을 수 있다. (이미 주식을 가지고 있다면 판 뒤에 주식을 구매할 수 있다.) 각 날 마다 사용자는 다음 중 하나의 행동을 무조건 해야한다. 1. 주식 사기 2. 주식 팔기 3. 존버 하기 4. 주식 샀다가 그 날 다시 바로 팔기 최대의 이익을 냈을 때, 얼마의 이익을 볼 수 있는지 구해라. Constraint { 1 존버 해야 한다. 그리고 나서 내가 팔 가격을 가장 높은 가격으로 다시 세팅해준다. 그리고 나서 반복문을 종료한 후 , 아직 거래하지 않은..
[Java] LeetCode 540. Single Element in a Sorted Array 문 제 : 정렬된 정수 배열 nums가 주어진다. nums 배열 안의 원소들은 한 숫자를 제외하고 모두 두 개씩 들어있다. 딱 하나만 들어있는 그 숫자를 구해라. Constraint { 1
[Java] LeetCode 35. Search Insert Position 문 제 : 정렬된 정수 배열 nums가 주어진다. 그리고 정수 target이 주어진다. target이 nums에 있다면, 있는 index를, 없다면 들어가야 할 index를 반환해라. 단, 시간복잡도가 O(log n) 이여야한다. Constraint { 1
[Java] LeetCode 1162. As Far from Land as Possible 문 제 : 이차원 정수 배열 grid[n][n]가 주어진다. grid[n][n]의 값은 0 or 1로 이루어져 있는데, 0은 물, 1은 땅을 뜻한다. 모든 땅과 가장 멀리 있는 물을 w라고 한다면 w와 땅의 가장 가까운 거리를 구해라. Constraint { n == grid.length } { n == grid[i].length } { 1