전체 글 364

1이 될 때까지 반복적으로 수행

1. 문제 설명 2. 문제 해결 아이디어 주어진 N에 대하여 최대한 많이 나누기를 수행 N의 값을 줄일 때 2이상의 수로 나누는 작업이 1을 빼는 작업보다 수를 훨씬 많이 줄일 수 있다. N = 25, k = 3일경우 3. 정당성 분석 N이 아무리 큰 수여도, k로 계속 나눈다면 기하급수적으로 빠르게 줄일 수 있다. 항상 1에 도달하게 된다. (최적의 해 성립) 4. 코드 #N, K을 공백으로 기준으로 구분하여 입력 N, K = map(int,input().split()) result = 0 while True: target = (N // K) * K result += (N - target) N = target #더이상 나누어 떨어지지 않으면 if N < K: break result += 1 N //= ..

이더리움 백서 개념

1. 이더리움이란? 비탈릭 부테린이 2015년 개발한 2세대 블록체인 Ethereum is a decentralized platform that runs smart contracts: applications that run exactly as programmed without any possibility of downtime, censorship, fraud or third-party interference. 스마트 컨트랙 스마트 컨트랙즉, 어느 조건에 맞으면 자동으로 실행되는 계약조건 사기, 중간, 검열 등 제 3자의 방해 가능성이 전혀없이 프로그래밍된 대로 동작하는 프로그램 스마트 컨트랙 출처 : ( https://blockchainhub.net/smart-contracts/) 2. 비트코인의 문제점..

3. Remix에서 ERC20코드 작성

ERC20이라는 프로젝트를 생성한 후 Ballot.sol의 내부 코드를 모두 지운다. Portion.io: PRT Token | Address 0x6D0F5149c502faf215C89ab306ec3E50b15e2892 | Etherscan The Contract Address 0x6D0F5149c502faf215C89ab306ec3E50b15e2892 page allows users to view the source code, transactions, balances, and analytics for the contract address. Users can also interact and make transactions to the contract directly on Etherscan. ethersc..

BlockChain/Token 2022.07.04

2. Local Ganache와 MetaMask, Remix와 연결

네트워크 -> 네트워크 추가를 클릭한다. 본인의 RPC URL 체인 ID 통화 기호를 넣어준다. 로컬에 직접 구축한 Ganache 로그창에 들어가 실행시 나타나는 로그를 잘 살피면서 이와같이 입력한다. 필자의 RPC URL은 필자의 체인 ID는 통화기호는 이더리움기반이므로 ETH를 입력해준다. 잘 연결이 됐다. Local Ganache에 있는 10개 지갑 중 원하는 지갑을 그대로 metamask로 연결해보자. metamask 계정을 가져와보자. 이제 비공개 키 문자열을 가지러 로컬 ganache로 가자 ganache 실행시 발급되는 coinbase, 첫 번째 지갑 주소를 복사하여 위에 입력하고 가져오기를 클릭한다. 완료됐다. 개발 툴인 Remix와 MetaMask를 연결해보자 ENVIRONEMENT에서 ..

BlockChain/Token 2022.07.04

그리디 알고리즘 이론

그리디 알고리즘(탐욕법) 현재 상황에서 지금 당장 좋은 것만 고르는 방법 일반적인 그리디 알고리즘은 문제를 풀기 위한 최소한의 아이디어를 떠올릴 수 있는 능력을 요구 최적의 해를 구하기 예제) 그리디 알고리즘은 이처럼 매 상황에서 최고의 상황만 선택한다. 일반적인 상황에서 최적의 해를 보장할 수 없다. 코딩테스트의 경우 이처럼 그리디 알고리즘으로 푸는 것이 최적의 해가 나오도록 설계되어 있다. 정당성 분석을 진행한다. 문제1 : 거스름 돈 문제1 : 1. 문제 해결 아이디어 최적의 해를 빠르게 구하기 위해서는 가장 큰 화폐 단위부터 돈을 거슬러 준다. N원을 거슬러 줘야 할 때, 가장 먼거 500원으로 거슬러 줄 수 있을 만큼 거슬러 준다. 이후에 100원, 50원, 10원짜리 동전을 차례대로 거슬러 준..

표준 라이브러리(순열, 조합)

함수 기능 내장 함수 기본 입출력, 정렬함수 등을 제공 itertools 반복되는 형태의 데이터를 처리하기 위한 유용한 기능들을 제공 ex) 순열, 조합 heapq 힙 자료구조를 제공 ex) 우선순위 큐 bisect 이진 탐색(Binary Search) 기능을 제공 collections 덱(deque), 카운터(Counter)등의 자료구조 math 필수적인 수학적인 기능 제공 ex) 팩토리얼, 제곱근, 최대공약수(GCD), 삼각함수, 파이(PI) #sum() result = sum([1,2,3,4,5]) #min(), max() result = min(7,3,5,2) result = max(7,3,5,2) #eval() result = eval("(3+5)*7") #sorted() result = sor..

함수

내장 함수 파이썬이 기본적으로 제공하는 함수 input, print 사용자 정의 함수 개발자가 직접 정의하여 사용할 수 있는 함수 import ~~ 매개변수 : 함수 내부에서 사용할 변수 반환 값 : 처리된 결과를 반환 #더하기 함수 def add(a,b): return a+b global 키워드 지역 변수를 만들지 않고, 함수 바깥에 선언된 변수를 바로 참조 #1씩 10번 더하는 함수 a = 0 def func(): global a a += 1 for i in range(10): func() print(a) 여러 개의 반환 값 def operator(a,b): add = a+b sub = a-b mul = a*b return add, sub, mul a,b,c = operator(7,3) Lambda ..

조건문

조건문의 기본적인 형태는 if ~ elif ~ else if 조건문 1: 조건문 1이 True일 때 실행 elif 조건문 2: 조건문 1에 해당하지 않고, 조건문 2가 True일 때 실행되는 코드 else: 모두 아닐 때 실행되는 코드 기타 연산자 다수의 데이터를 담는 자료형을 위해 in 연산자와 not in 연산자가 제공 리스트, 튜플, 문자열, 딕셔너리 모두에서 사용이 가능 in 연산자와 not in 연산자 설명 X in 리스트 리스트 안에 X가 들어가 있을 때 참(True)이다. X not in 문자열 문자열 안에 X가 들어가 있지 않을 때 참(True)이다. Pass 키워드 아무것도 처리하고 싶지 않을 때 pass 키워드를 사용한다. 디버깅 과정에서 일단 형태만 만들고 실행할 경우 score = ..