//알고리즘 1. 구현 2. 0부터 8까지 숫자배열 사용 3. 6과 9를 같이쓴다는 부분만 해결하면 됨. -> 6과 9의 개수를 6배열에만 카운팅하고 나누기 2를해서 올림 하면 됨. 4. 숫자배열중 가장 큰 수가 필요한 세트의 개수가 됨. 더보기 import java.util.Scanner; public class 방번호_1475 { static int N, number[]; public static void main(String[] args) { Scanner sc = new Scanner(System.in); N = sc.nextInt(); number = new int[9]; String str = Integer.toString(N); for (int i = 0; i < str.length(); i..
// 알고리즘 1. 탐색문제 -> 최단 거리를 구하기 때문에 BFS 탐색 2. 고슴도치는 물이 찰 예정인 칸으로 이동할 수 없다. 는 조건 -> 물웅덩이 부터 탐색을 시작함 3. 물웅덩이와 고슴도치의 이동을 다르게 봐야하기 때문에 3차원 방문배열 사용 4. 물웅덩이 1 사이클 => 고슴도치 1 사이클 씩 번갈아가면서 탐색 -> 각각 어레이리스트를 만들어 다음번 시행되어야할 위치를 큐에넣지말고 어레이리스트에 저장 -> 한 사이클(while)이 끝나면 저장된 어레이리스트를 큐에 집어넣고 리스트 초기화 5. 도착할 때 까지 무한으로 실행 -> 탈출 조건은 고슴도치가 도착점에 도달하지 못하고 이동할 곳도 없을 경우 (큐의 사이즈가 0일 때) 더보기 package baekjoon; import java.io.Bu..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/b6aBsK/btqRqcbUM2e/GjCjFBCGJR0YXzfIpcjr9k/img.png)
1. Heroku install - 언어선택하고 운영체제 선택 후 설치 ( 윈도우 운영체제사용중이기 때문에 윈도우 선택) 2. Heroku login - $ heroku login - 한번 로그인하면 heroku logout 할 때까지 로그인됨. 3. Spring Boot app 준비 - $ git init - $ git add . - $ git commit -m "message" - Deploy하고싶은 Spring Boot project 준비 4. Heroku create - $ heroku create - 생성하면 key를 입력하라고 나오고 key를 입력하면 생성됨. (key 는 본인맘대로 입력하면 되는듯) 5. Heroku push - $ git push heroku master - commit 했..
//알고리즘 1. 자료구조를 활용한 풀이 -> HashMap 사용 2. 종류마다 옷의 개수를 구해야 하기 때문에 -> Key 는 옷의 종류인 kind로 하고 개수를 +1 씩 더해서 HashMap에 push 3. 경우의 수를 구함 -> 각 종류의 옷의 개수( n ) + 옷을입지않을경우( 1 ) 4. 경우의 수를 전부 곱합 5. 옷을 모두 입지않을 경우를 빼야하기 때문에 결과값 - 1 더보기 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.HashMap; import java.util.StringTokenizer; public class 패션왕신해빈_9375 {..
//알고리즘 1. 그래프 탐색 (트리) 2. 인접리스트를 만들고 방문배열을 만듦 3. 탐색시작 -> bfs를 사용하여 구현 -> 매번 탐색하면서 부모노드를 찾으면 방문배열을 매번 새롭게 생성하여야 하기 때문에 시간초과가 남 -> 해당노드의 부모노드를 저장하는 배열을 만들어 bfs를 한번 돌면서 각 노드의 부모노드를 저장 더보기 package baekjoon; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.LinkedList; import java.util.Queue; import java.util.Strin..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/erqJFj/btqRhd8brVp/dTKd6eustlntDr4AmosX71/img.png)
1. Block 생성 - nonce : 최초 0에서 시작하여 조건을 만족하는 해쉬값을 찾아낼때까지의 1씩 증가하는 계산 횟수 - data : 데이터 - prevhash : 블록 체인에서 바로 앞에 위치하는 블록의 블록 해쉬 - hash : 해시 함수를 통해 생성된 해시 값 더보기 package day_1223; public class Block { int nonce; String data; String prevhash; String hash; public int getNonce() { return nonce; } public void setNonce(int nonce) { this.nonce = nonce; } public String getData() { return data; } public void..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/wg7NA/btqRaxfxzFi/Zxojr49I4K4G7RdtaBg8NK/img.png)
해시 함수 해시 함수는 임의의 길이의 데이터를 고정된 길이의 데이터로 매핑하는 함수이다. 해시 함수에 의해 얻어지는 값은 해시 값, 해시 코드, 해시 체크섬 또는 간단하게 해시라고 한다. 위키백과 해시 함수 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 이름을 0~15 사이의 정수값으로 매핑하는 해시 함수의 예. “John Smith”와 “Sandra Dee”라는 두 키 사이에 충돌이 존재한다. 해시 함수(hash function)는 임의의 길이 ko.wikipedia.org 해시 함수의 특성과 효과 압축 : 입력 x의 크기와 상관없이 출력길이 y=h(x)는 항상 작아야 한다. 암호학적 해시함수는 입력 길이에 상관 없이 고정된 크기의 출력을 만들어 낸다. 효율성 : 어떤 입력 x에..
//알고리즘 1. 이분 탐색문제 2. N값이 최대 20만이기 때문에 아이디어가 필요함 -> 최대의 거리를 변경해가면서 찾아야 함. 3. 시작점은 가장왼쪽집 끝점은 가장오른쪽집으로 시작해서 중간값(최대 거리)을 구함 4. 최대거리를 넘는 집의 개수를 구해서 설치해야할 공유기의 수보다 크거나같다면 시작점을 1씩 더해주고 작다면 끝점을 1씩 빼서 결과값을 찾아 냄 (이분 탐색) 더보기 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public class 공유기설치_2110 { static..
1. 브랜치 생성 git branch " " 2. 브랜치 전환하기 git checkout " " 3. git add . 4. git commit -m "message" 5. git push origin --------Merge하는 방법은 이후에 추가할 예정---------------- --------원격 저장소에 Merge한 이후 ------------- 1. git remote update 2. git pull origin 3. 해당 브랜치 로컬에서 삭제 $ git branch -d
//알고리즘 1. dp(다이나믹 프로그래밍) 2. dp Table 생성 3. 퇴사일을 기준으로 하루씩 줄여가면서 최대값을 갱신 4. 1일차까지의 최대값을 계산한 후 dp[1] 출력 더보기 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class 퇴사_14501 { public static void main(String[] args) throws NumberFormatException, IOException { BufferedReader br = new BufferedReader(new InputStreamReade..