일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- vscode
- java
- db
- DFS
- DP
- 안드로이드
- Redux
- 알고리즘
- Graph
- 다이나믹 프로그래밍
- LeetCode
- 프로그래머스
- network
- 리트코드
- Python
- VIM
- frontend
- git
- CS
- Database
- Algorithm
- 자바
- 그레이들
- react
- BFS
- TypeScript
- 동적 계획법
- 백준
- Data Structure
- Javascript
- Today
- Total
목록분류 전체보기 (390)
늘 겸손하게

문제 해설 주어진 데이터를 어떤 자료구조에 저장할지 결정하는 게 중요한 문제 문제를 보면 알몸이 아니면 된다고 했으므로 옷 하나만 걸쳐도 문제가 되지 않는다. 결국 옷이 종류별로 몇 개 있는지를 저장하고 옷의 종류별 개수에 1을 더한 결과를 모두 곱한 뒤 1을 빼준다. 1을 더하는 이유는 해당 종류의 옷을 고르지 않는 경우도 있기 때문이고, 모두 곱한 값에 1을 빼주는 이유는 모든 종류의 옷들 중 아무것도 고르지 않은 경우를 빼야 하기 때문이다. 문제 풀이 어떤 종류의 옷이 있는지 해당 종류의 옷의 개수가 몇개인지를 저장해야 한다. 이에 알맞은 자료구조는 hashmap이다. 옷의 이름은 필요가 없으므로, 옷의 종류가 무엇인지, 해당 종류의 옷이 몇개 있는지를 hashmap에 저장한다. ( 해당 옷 종류의..

잃어버린 괄호 최소값을 얻기 위해서는 덧셈을 먼저 다해주고 뺄셈을 하면 정답이 나온다. 주어진 입력을 split 함수로 나누어 덧셈을 먼저 해준 뒤 뺄셈을 하면 정답을 출력할 수 있다. 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 32 33 34 35 import java.util.Scanner; import java.util.Vector; public class Main { public static void main(String [] args) { Scanner sc = new Scanner(System.in); String arr = new String(); arr = sc.nextLine(); ..

ATM 문제 그리디 알고리즘으로 푸는 문제이다. 그리디 알고리즘을 정의를 다시 생각해보자. 현 상황에서 최적의 선택을 하는 과정을 정답이 나올때까지 반복하는알고 리즘이 그리디 알고리즘이다. 이 알고리즘을 문제에 적용해보자. 문제를 보면 N 명의 사람이 있고, 각 사람이 돈을 인출하는데 걸리는 시간이 Pi 라고 한다. 이 문제에 그리디 알고리즘을 적용하면 현재 가장 돈을 인출하는데 걸리는 시간이 적은 사람을 선택하고, 선택한 사람을 제외한 사람들중에서 가장 돈 을 인출하는데 걸리는 시간이 적은 사람을 선택하는 과정을 N번 반복하면 된다. 이를 코드로 구현하기 위해서는 N개의 Pi를 배열에 저장하고, 배열을 오름차순으로 정렬시킨 다음 적은 숫자부터 선형으 로 골라주면 된다. 코드 1 2 3 4 5 6 7 8..

Linux 의 bash 에는 Tab 을 눌러 자동완성을 해주는 기능이 있습니다. 이 기능은 대소문자를 구분하는 데 대소문자를 구분하지 않고 자동완성이 되도록하면 매우 편리합니다 - 적용 방법 1. 홈 디렉토리로 갑니다. cd 2. .inputrc 파일에 'set completion-ignore-case on' 을 적어줍니다. echo 명령어를 이용하면 편리합니다 echo 'set completion-ignore-case On` >> ~/.inputrc 3. 터미널을 닫았다가 다시 열면 적용된것을 확인할 수 있습니다. - 적용 후 탭을 누르면 Doc까지 입력하고 다시 탭을 누르면