반응형 분류 전체보기216 [파이썬] 9020 : 골드바흐의 추측 바흐흑.... 문제 1보다 큰 자연수 중에서 1과 자기 자신을 제외한 약수가 없는 자연수를 소수라고 한다. 예를 들어, 5는 1과 5를 제외한 약수가 없기 때문에 소수이다. 하지만, 6은 6 = 2 × 3 이기 때문에 소수가 아니다. 골드바흐의 추측은 유명한 정수론의 미해결 문제로, 2보다 큰 모든 짝수는 두 소수의 합으로 나타낼 수 있다는 것이다. 이러한 수를 골드바흐 수라고 한다. 또, 짝수를 두 소수의 합으로 나타내는 표현을 그 수의 골드바흐 파티션이라고 한다. 예를 들면, 4 = 2 + 2, 6 = 3 + 3, 8 = 3 + 5, 10 = 5 + 5, 12 = 5 + 7, 14 = 3 + 11, 14 = 7 + 7이다. 10000보다 작거나 같은 모든 짝수 n에 대한 골드바흐 파티션은 존재한다. .. 코딩테스트/알고리즘 문제풀이 2021. 7. 24. [파이썬] 4948 : 베르트랑 공준 문제 베르트랑 공준은 임의의 자연수 n에 대하여, n보다 크고, 2n보다 작거나 같은 소수는 적어도 하나 존재한다는 내용을 담고 있다. 이 명제는 조제프 베르트랑이 1845년에 추측했고, 파프누티 체비쇼프가 1850년에 증명했다. 예를 들어, 10보다 크고, 20보다 작거나 같은 소수는 4개가 있다. (11, 13, 17, 19) 또, 14보다 크고, 28보다 작거나 같은 소수는 3개가 있다. (17,19, 23) 자연수 n이 주어졌을 때, n보다 크고, 2n보다 작거나 같은 소수의 개수를 구하는 프로그램을 작성하시오. 입력 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 케이스는 n을 포함하는 한 줄로 이루어져 있다. 입력의 마지막에는 0이 주어진다. 출력 각 테스트 케이스에 대해서, n보다 크고.. 코딩테스트/알고리즘 문제풀이 2021. 7. 21. [파이썬] 1929 : 소수 구하기 문제 M이상 N이하의 소수를 모두 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. 출력 한 줄에 하나씩, 증가하는 순서대로 소수를 출력한다. 예제 입력 1 복사 3 16 예제 출력 1 복사 3 5 7 11 13 에라토스테네스의 체를 사용하였다. 이전에 조금 비효율적인 풀이를 사용하여 시간초과가 났었다. 하지만 bool 타입으로 소수 유무를 판단하는식으로 다른 풀이를 작성했고, 시간 제한을 통과하였다. 바로 아래 코드를 보자. import math #시간초과 def solve(m, n): resultList = list(range(m, n+1)) #에라토스테.. 코딩테스트/알고리즘 문제풀이 2021. 7. 20. [파이썬] 11653 : 소인수분해 문제 정수 N이 주어졌을 때, 소인수분해하는 프로그램을 작성하시오. 입력 첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다. 출력 N의 소인수분해 결과를 한 줄에 하나씩 오름차순으로 출력한다. N이 1인 경우 아무것도 출력하지 않는다. 예제 입력 1 복사 72 예제 출력 1 복사 2 2 2 3 3 예제 입력 2 복사 3 예제 출력 2 복사 3 예제 입력 3 복사 6 예제 출력 3 복사 2 3 예제 입력 4 복사 2 예제 출력 4 복사 2 예제 입력 5 복사 9991 예제 출력 5 복사 97 103 일단 소인수분해는, 합성수를 소수들의 곱으로 나타내는것을 말한다. 1보다 큰 어떤 정수 N이 주어졌을 때, 10진법 표기에서 약수를 찾는 방법들이 몇가지 있다. 1. 배수 판정법 정수 N에 대.. 코딩테스트/알고리즘 문제풀이 2021. 7. 17. [파이썬] 2581: 소수 문제 자연수 M과 N이 주어질 때 M이상 N이하의 자연수 중 소수인 것을 모두 골라 이들 소수의 합과 최솟값을 찾는 프로그램을 작성하시오. 예를 들어 M=60, N=100인 경우 60이상 100이하의 자연수 중 소수는 61, 67, 71, 73, 79, 83, 89, 97 총 8개가 있으므로, 이들 소수의 합은 620이고, 최솟값은 61이 된다. 입력 입력의 첫째 줄에 M이, 둘째 줄에 N이 주어진다. M과 N은 10,000이하의 자연수이며, M은 N보다 작거나 같다. 출력 M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다. 단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다. 예제 입력 1 복사 60 100 예제 출력 .. 코딩테스트/알고리즘 문제풀이 2021. 7. 16. [파이썬] 10757 : 큰 수 A+B 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 A와 B가 주어진다. (0 < A,B < 1010000) 출력 첫째 줄에 A+B를 출력한다. 예제 입력 1 복사 9223372036854775807 9223372036854775808 예제 출력 1 복사 18446744073709551615 일반적인 int의 범위이다 -9223372036854775808 ~ 9223372036854775807 (-sys.maxsize-1 ~ sys.maxsize) 다른 언어에서는 위 범위를 넘어서면 메모리가 터지지만, 파이썬3은 오버플로우가 없기때문에 터지지 않는다... https://ahracho.github.io/posts/python/2017-05-09-python-i.. 코딩테스트/알고리즘 문제풀이 2021. 7. 13. [파이썬] 1193 : 분수찾기 문제 무한히 큰 배열에 다음과 같이 분수들이 적혀있다. 1/1 1/2 1/3 1/4 1/5 … 2/1 2/2 2/3 2/4 … … 3/1 3/2 3/3 … … … 4/1 4/2 … … … … 5/1 … … … … … … … … … … … 이와 같이 나열된 분수들을 1/1 -> 1/2 -> 2/1 -> 3/1 -> 2/2 -> … 과 같은 지그재그 순서로 차례대로 1번, 2번, 3번, 4번, 5번, … 분수라고 하자. X가 주어졌을 때, X번째 분수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다. 출력 첫째 줄에 분수를 출력한다. 예제 입력 1 복사 14 예제 출력 1 복사 2/4 시간제한 - 0.5초 일단 우선적으로 고려해야될것들이 있었다 1. 무한히 .. 코딩테스트/알고리즘 문제풀이 2021. 7. 13. 파이썬 코드 실행 시간 측정해보기 (초단위) import time start = time.time() # 시작시간 체크 #코드 print("time :", time.time() - start) # 현재시각 - 시작시간 = 실행 시간(초단위) Language/Python&Django 2021. 7. 13. [DeFi] Unlimited Minting Exploit 2020년 12월 28일 +UTC 오전 8시 8분 12초, Cover Protocol의 shield mining contract인 Blacksmith.sol이 털렸다. 해커는 mining contract의 버그를 악용해 COVER token을 무한정 발행하였고, 440만달러 이상을 탈취하였다. 원인 L118의 코드때문에 입금할 때 L121의 pool state를 업데이트하는 과정에서 문제를 발생시켰다. 결론부터 이야기하자면, L118 코드가 저곳에 위치했기때문에, Blacksmith contract가 miner에게 초기 설계 또는 기획보다 많은 보상을 주게 되었고, 이러한 취약점이 결국 큰 손실로 이어지게 된것이다. Timeline The initial attacker's timeline Blacksmi.. ETC/프로젝트 2021. 7. 8. [DeFi] 디파이 해킹? 먹튀? Rug Pull 글을 시작하기에 앞서 러그풀(rug pull) 이란? Rug Pull | CoinMarketCap A rug pull is a type of scam where developers abandon a project and take their investors' money. coinmarketcap.com 직역하면 양탄자를 쭉 땡긴다는것. 개발자들이 프로젝트를 접고 투자자들의 자금을 탈취하는 악의적인 행위를 말한다. Wallstreetswap.finance 에 대한 간략한 정보 Address Owner Address WallStreetSwapFactory WallSTToken TheFarmerofWallStreet WallSteetSwapRouter WallStreetSwapPair (BNB/BUSD) Ti.. ETC/프로젝트 2021. 7. 8. [NFT Code] ERC-721 컨트랙트 리뷰 기본적인 ERC-20, ERC-721과 같은 이더리움 표준의 개념들은 리포트에 자세하게 정리되어있다. (사실 그냥 봐주시면 좋겠습니다.. 열심히 썼거든요..) NFT : 메타버스 시대로 가는 첫번재 발판 이번에 발간된 헥슬란트 이슈 리포트 주제는 ‘NFT : 메타버스 시대로 가는 첫번재 발판’입니다. medium.com 따라서 기본 개념을 건너뛰고, 코드레벨단 리뷰를 간단하게 해보려고 한다. 기본적으로 ERC-20를 알고있다는 가정 하에 작성하였고, ERC-721에 대한 포스팅을 작성하고, 추후 ERC-20 등 대표적인 ERC 표준들을 코드레벨단에서 리뷰할 예정이다. ERC-721 Interface /// @title ERC-721 Non-Fungible Token Standard /// @dev See.. ETC/프로젝트 2021. 6. 15. [NFT Research] erc-20, erc-721 그리고 리포트 발간까지 2016년 블록체인을 처음 알게되었다. 학부 1학년이던 나는, 짧은 지식이였지만 블록체인이 갖고있는 안정성, 신뢰성, 보안성 등 여러가지 특성에 매료되었고 "기술적인 관점"에서 블록체인을 바라보기 시작했다. 2017년 본격적으로 이더리움 스마트 컨트랙트를 공부하기 시작했다. 당시, 이더리움 기반의 ICO들이 굉장히 성행하였고, 이더리움 표준인 ERC-20을 이루는 근본적인 스마트 컨트랙트 코드를 한줄한줄 뜯어 분석하고 직접 이더리움으로 ICO에 참여하며 내가 전송한 이더리움이 어떻게 어디로 전송되는지 모든 트랜잭션을 하나하나 뜯어 분석했다. 그리고 2021년, 몇년전부터 관심을 갖고있던 블록체인 기업에서 일을 할 수 있는 기회가 주어졌고, 나는 그 기회를 놓치지 않고 꽉 쥘 수 있었다. NFT : 메타버.. ETC/프로젝트 2021. 6. 15. 이전 1 ··· 9 10 11 12 13 14 15 ··· 18 다음 반응형