//알고리즘 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에..