일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 하둡2
- python
- hadoop2
- recursion
- tensorflow
- 그래프이론
- GRU
- 딥러닝
- scrapy
- 하이브
- graph
- RNN
- Java
- C
- 선형대수
- Sort
- collections
- hive
- C언어
- 알고리즘
- 파이썬
- 텐서플로
- NumPy
- LSTM
- effective python
- 주식분석
- yarn
- codingthematrix
- 코딩더매트릭스
- HelloWorld
- Today
- Total
목록Study (184)
EXCELSIOR
1. Recursive Thinking 1) 현재 위치가 출구이거나 혹은 2) 이웃한 셀들 중 하나에서 현재 위치를 지나지 않고 출구까지 가는 경로가 있거나 3) Pseudo-code는 다음과 같이 나타낼 수 있다. boolean findPath(x,y) if (x, y) is the exit // 처음 위치가 출구일 경우 return true; else mark (x, y) as a visited cell; for each neighbouring cell (x', y') of (x, y) do if (x', y') is on the pathway and not visited // (x', y')가 길이고, 방문하지 않았을 경우 if findPath(x', y') // recursive return tr..
1. 순환 알고리즘의 설계 (Designing Recursion)적어도 하나의 base case, 즉 순환되지 않고 종료되는 case가 있어야 한다.모든 case는 결국 base case로 수렴해야 한다.암시적(implicit) 매개변수를 명시적(explicit) 매개변수로 바꾸어라 : 아래의 함수는 data[begin] 에서 data[end] 사이에서 target을 검색한다.(순차 탐색) 즉, 검색구간의 시작점을 begin과 같이 명시적(explicit)으로 지정한다. ① 순차탐색 public int search(int[] data, int begin, int end, int target){ if(begin>end) return -1; else if(target == data[begin]) return..
1. 문제 피보나치 수는 F(0) = 0, F(1) = 1일 때, 2 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 점화식입니다. 2 이상의 n이 입력되었을 때, fibonacci 함수를 제작하여 n번째 피보나치 수를 반환해 주세요. 예를 들어 n = 3이라면 2를 반환해주면 됩니다. 2. 풀이 1) 내가 작성한 코드 ① Recursion을 이용한 풀이 : 풀이는 맞지만 숫자가 커지게 되면 시간이 오래걸려 출력이 되지 않는 문제가 발생했다. def fibonacci(num): if num < 2: return num else: return fibonacci(num-1)+fibonacci(num-2) # 아래는 테스트로 출력해 보기 위한 코드입니다. print(fibonacci(..
1. 문자열의 길이 계산 1) Base Case : 문자열 값이 null 인 경우 → return 0; 2) Recursive Case : 첫번째 문자를 제외한 길이 + 1을 return 한다. public class RecursionTest { public static void main(String[] args) { System.out.println(length("test")); } public static int length(String str){ if(str.equals("")) return 0; else return 1+length(str.substring(1)); // 차례대로 est -> st -> t return } } 2. 문자열을 뒤집어 프린트 public class RecursionTe..
1. Recursion - 순환 또는 재귀함수라고 부른다. - 메소드를 정의할 때 자기 자신을 재참조 하는 방법을 말한다. 1) 무한루프가 발생하는 경우 : 아래의 코드는 func() 라는 메소드를 아무런 조건없이 다시 호출하여 무한루프에 빠지게 된다. public class RecursionTest { public static void main(String[] args) { func(); } public static void func(){ System.out.println("Hello"); func(); } } 2) 조건을 추가해준 경우 : recursion이 항상 무한루프에 빠지는 것은 아니다. public class RecursionTest { public static void main(String..
1. 프로토콜 버퍼 설치 (Protocol Buffer) : 프로토콜 버퍼는 데이터를 연속된 비트로 만들고, 이렇게 만들어진 비트를 해석해 원래의 데이터를 만들 수도 있ㄷ. 현재 다양한 시스템이 이기종 혹은 내부 프로세스 간의 통신에 프로토콜 버퍼를 사용하고 있으며, 하둡2도 내부 데몬 간의 데이터 통신을 위해 프로토콜 버퍼를 적용했다. 하둡2에서 사용하는 프로토콜 버퍼 버전은 protobuf-2.5.0이다. 프로토콜 버퍼는 버전 간의 상호호환성을 지원하지 않으므로 다른 버전을 설치하지 않도록 주의해야 한다. 설치 파일을 내려받은 뒤 (/usr/local 디렉터리에 다운받았다고 가정) cd /usr/local tar xvfz protobuf-2.5.0.tar.gz cd protobuf-2.5.0 ./co..
1. 하둡1 - 네임노드의 문제점1) 네임노드가 정상적으로 동작하지 않을 경우 모든 클라이언트가 HDFS에 접근할 수 없다. 2) 네임노드의 파일 시스템 이미지에 문제가 생길 경우에도 HDFS에 저장된 데이터를 조회할 수 없다. 파일 시스템 이미지에 HDFS의 디렉터리 구조와 파일 위치가 모두 보관돼 있어서 이정보가 유실될 경우 블록에 접근하기 위한 통로가 없어지기 때문이다. 3) 네미노드의 에디트로그에 문제가 생길경우에도 데이터가 유실될 확률이 높다. 네임노드는 HDFS에 대한 데이터 갱신 내역을 에디트로그에 저장하고, 파일 시스템 이미지를 메모리에서 관리한다. 그리고 보조네임노드는 체크포인팅 작업을 통해 에디트로그를 파일 시스템 이미지에 갱신한다. 2. 하둡2 - 네임노드 HA1) 저널노드HDFS에 ..
1. 문제 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬을 입력받는 sumMatrix 함수를 완성하여 행렬 덧셈의 결과를 반환해 주세요. 예를 들어 2x2 행렬인 A = ((1, 2), (2, 3)), B = ((3, 4), (5, 6)) 가 주어지면, 같은 2x2 행렬인 ((4, 6), (7, 9))를 반환하면 됩니다.(어떠한 행렬에도 대응하는 함수를 완성해주세요.) 2. 풀이 1) 내가 작성한 코드 - 임시 리스트를 만들어 이중 for 문을 통해 문제를 해결하였다. def sumMatrix(A,B): answer = [] for i in range(len(A)): tmp=[] for j in range(len(A[i])): tmp.a..