프로그래밍/알고리즘(10)
-
[알고리즘] 플로이드 워샬 알고리즘
서론그리 어려운 알고리즘이 아니라서 위키를 파워 활용하여 정리해보자!https://ko.wikipedia.org/wiki/플로이드-워셜_알고리즘 정의플로이드-워셜 알고리즘(Floyd-Warshall Algorithm})은 그래프에서 모든 꼭짓점 사이의 최단 경로의 거리를 구하는 알고리즘이다. 음수 가중치를 갖는 변도 순환만 없다면 잘 처리된다. 제일 바깥쪽 반복문은 거쳐가는 꼭짓점이고, 두 번째 반복문은 출발하는 꼭짓점, 세 번째 반복문은 도착하는 꼭짓점이다. 이 알고리즘은 플로이드 알고리즘이라고도 알려져 있다. 복잡도플로이드-워셜 알고리즘으로 모든 정점 간 경로의 최소비용을 구하는 것은 의 시간 복잡도를 갖는다. 경유지를 기록한 경우, 경로를 역으로 추출하는 알고리즘의 복잡도는 의 시간 복잡도를 갖는다..
2015.07.11 -
Project Euler Problem8
Largest product in a seriesProblem 8The four adjacent digits in the 1000-digit number that have the greatest product are 9 × 9 × 8 × 9 = 5832.73167176531330624919225119674426574742355349194934 96983520312774506326239578318016984801869478851843 85861560789112949495459501737958331952853208805511 12540698747158523863050715693290963295227443043557 66896648950445244523161731856403098711121722383113 6..
2015.02.28 -
Project Euler Problem16
Power digit sumProblem 16215 = 32768 and the sum of its digits is 3 + 2 + 7 + 6 + 8 = 26.What is the sum of the digits of the number 21000? 나의 풀이)2의 1000승을 표현하기는 매우 어렵다.기본적으로 몇 백자리의 수가 나오기때문에.. 표현할 수 있는 자료형이 없다.게임 아카데미 동기가 라지넘버 라이브러리를 쓰면 된다는데..찾아보니 gmp인거 같은데.. 설치가 귀찮아 이 방법은 접는것으로... 처음 배열로 구현하려고 str[500]만큼의 배열로 선언하여 계산했다.고정된 배열 길이로 구하려니.. 뒤에 자리들 처리해주는게 여간 성가신게 아니었다.그래서 벡터나 리스트 중에 뭐 써볼까 하다가 리스트로 ..
2015.02.24 -
Project Euler Problem15
Lattice pathsProblem 15Starting in the top left corner of a 2×2 grid, and only being able to move to the right and down, there are exactly 6 routes to the bottom right corner.How many such routes are there through a 20×20 grid? 나의 풀이)1. 최단경로 구하기좌상단의 값을 더하면 그 지점에 갈 수 있는 경로의 수가 나온다.검은색으로 패스를 적고 이를 배열에 넣는다.1행과 1열은 다 1로 초기화 하고 2행 2열부터 값을 계산한다. 2. 구현Xcode로 작성했다. 배열 중간에 오버플로우로 계산이 제대로 되지 않아 int64형을 이용..
2015.02.17 -
Project Euler Problem10
Problem10The sum of the primes below 10 is 2 + 3 + 5 + 7 = 17.Find the sum of all the primes below two million. 나의 풀이)정말.. 수퍼 발코딩으로 풀었다.저번에 구현했던 isPrime 함수를 통해 소수를 찾고 2,000,000까지 반복문!isPrime에서 돌아가는 for문과 메인에서 돌아가는 for문을 합치니... 거의 O(n^2)급이니루프 200만번은 정말 가혹한 속도..15분만에 결과가 나왔는데.... 여튼 답은 구했다.. 외국 고수님들 풀이를 좀 읽어봐야겠다. 다른 사람의 풀이)continue ...
2015.02.15 -
Project Euler Problem9
Problem 9A Pythagorean triplet is a set of three natural numbers, a
2015.02.15