전체 글
[JS 알고리즘] Toy 2 - fibonacci ( O(n) )
노션에서 마이그레이션 중이며, 순서는 랜덤하게 업로드하고 있습니다. 해당 문제는 코드스테이츠의 Toy problem을 출처로 합니다. 2022.03.30 문제 아래와 같이 정의된 피보나치 수열 중 n번째 항의 수를 리턴해야 합니다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1입니다. 그 다음 2번째 피보나치 수부터는 바로 직전의 두 피보나치 수의 합으로 정의합니다. 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, .. 작성 코드 (Javascript) function fibonacci(n) { // TODO: 여기에 코드를 작성합니다. const fibo = (n, r) => { if (n 0) return r[n]; return r[n] = fibo(n-2, r) + fib..
[JS 알고리즘] Toy 1 - orderOfPresentation
노션에서 마이그레이션 중이며, 순서는 랜덤하게 업로드하고 있습니다. 해당 문제는 코드스테이츠의 Toy problem을 출처로 합니다. 2022.03.30 문제 말썽꾸러기 김코딩은 오늘도 장난을 치다가 조별 발표 순서가 담긴 통을 쏟고 말았습니다. 선생님께서는 미리 모든 발표 순서의 경우의 수를 저장해 놓았지만 김코딩의 버릇을 고치기 위해 문제를 내겠다고 말씀하셨습니다. 김코딩은 모든 조별 발표 순서에 대한 경우의 수를 차례대로 구한 뒤 발표 순서를 말하면 이 발표 순서가 몇 번째 경우의 수인지를 대답해야 합니다. 총 조의 수 N과 선생님이 말씀하시는 발표 순서 k가 주어질 때, 김코딩이 정답을 말 할 수 있게 올바른 리턴 값을 구하세요. 모든 경우의 수가 담긴 배열은 번호가 작을수록 앞에 위치한다고 가정..
[JS 알고리즘] Toy 15 - primePassword
노션에서 마이그레이션 중이며, 순서는 랜덤하게 업로드하고 있습니다. 해당 문제는 코드스테이츠의 Toy problem을 출처로 합니다. 2022.04.20 문제 다음의 조건을 만족하면서 현재의 비밀번호('curPwd')를 새 비밀번호(newPwd)로 변경하는 데 필요한 최소 동작의 수를 리턴해야 합니다. 한 번에 한 개의 숫자만 변경가능하다. 4자리의 소수(prime)인 비밀번호로만 변경가능하다. 정리하면, 비밀번호가 계속 소수를 유지하도록 숫자 한 개씩을 바꿔갈 때 현재 비밀번호에서 새 비밀번호로 바꾸는 데 최소 몇 개의 숫자를 변경해야 하는지를 리턴해야 합니다. 입력 인자 1 : curPwd number 타입의 1,000 이상 9,999 이하의 자연수 인자 2 : newPwd number 타입의 1,0..
암호화폐는 왜 등장했을까(4): 암호화폐의 기술 기반 - 블록체인
이번 포스팅에서는 암호화폐의 기술 기반인 블록체인을 살펴볼 것이다. 비트코인과 같은 암호화폐 시장이 떠오르면서, 블록체인과 암호화폐를 혼용해서 사용하는 사람이 많다. 그러나 암호화폐가 곧 블록체인이라고 할 수는 없다. 블록체인은 자료구조로서 하나의 기술이며, 암호화폐는 이러한 블록체인 기술로 만든 일종의 자산 거래 서비스이다. 따라서, 블록체인으로 만들 수 있는 것이 암호화폐에만 국한된 것이 아니라는 뜻이다. 실제로 블록체인을 활용한 NFT, WEB3 등의 사례를 떠올려보면 금방 이해할 수 있을 것이다. 블록체인이란? 블록체인(Blockchain) = 블록(Block) + 체인(Chain) 블록체인의 핵심은 인터넷 상에 있는 사람들과 동일한 데이터를 가지는 것이다. 블록체인이 데이터를 저장하고 공유하는 ..
암호화폐는 왜 등장했을까(3): 암호화폐의 등장 - 비트코인과 이더리움
비트코인 1. 비트코인이란? P2P기술을 사용하여 중개자 없이 직접 화폐를 사고 팔고, 환전할 수 있는 탈중앙화된 디지털 화폐 시스템이다. 비트코인은 중앙 권한이나 은행 없이 운영되기 위해 P2P 기술을 사용합니다. 트랜잭션을 다루고 비트코인을 발행하는 일들은 네트워크의 협력을 통해 이루어 집니다.비트코인은 오픈 소스로, 모두에게 공개되어 있고, 그 누구도 비트코인 네트워크를 소유하거나 통제할 수 없으며, 모두가 네트워크의 일부로 참여할 수 있습니다. 비트코인은 여러 독특한 특징들을 통해 이전의 어떤 결제 시스템에서도 하지 못했던 흥미로운 기능들을 제공합니다. [출처] bitcoin.org/en 기존의 전자 금융 시스템에서는 자산을 거래하기 위해서 은행이라는 중개자를 통해 신원 증명과 소유권 증명을 했다..
암호화폐는 왜 등장했을까(2): 기존 금융 시스템의 문제점
1) 신용 창출 1. 신용 창출이란? 신용창출(Credit Creation)은 은행을 통해 국가에 유통되는 화폐 총량이 늘어나는 현상을 의미한다. 은행의 신용과 예금을 통해 유통되는 화폐의 양이 늘어나기 때문에 신용을 창조한다는 표현을 쓰며, 또 다른 말로는 예금 창조(Deposit Creation)라고도 한다. 2. 신용 창출의 과정 은행은 개인 또는 기관의 예금액에서 지급 준비금을 제외한 금액을 대출한다. 대출한 금액 역시 은행에 예금되기 때문에 이 예금액을 가지고 다시 대출을 한다. 이 과정이 반복되면서 전체 통화량이 증가하게 된다. 지급준비제도 : 은행이 보유하고 있는 예금의 일정 부분은 지급준비금으로 실제로 보관하고, 나머지 금액만으로 대출 등으로 운용할 수 있게 하는 제도. 예)은행이 100억..