본문 바로가기

분류 전체보기

(317)
# 미사용 [백준 1932] 정수 삼각형 풀이노트 1차 풀이 (2018-07-11, 시간초과)완전탐색으로 풀이 시도. * 위에서 부터 시작해서 왼쪽을 선택하는 경우와, 오른쪽을 선택하는 경우로 나누어 재귀적으로 해결. 2차 풀이 (2018-07-11, 2912 KB, 36 MS) 점화식과 중복되는 부분문제를 캐싱하여 역방향으로 풀이 시도. * maxCost(i, j)가 최대값이 되기 위해서 maxCost(i-1, j)와 maxCost(i-1, j-1) 둘 중 큰 값을 선택하여 가산한다. * 겹치는 부분문제가 생기므로 캐싱을 시도한다. 3차 풀이 (2018-07-11, 2384 KB, 32 MS) 2차 풀이에서 정방향으로 바꾸어 재귀호출 해소. * maxCost(i, j)가 최대값이 되기 위해서 maxCost(i-1, j)와 maxCost(i-1, j-1..

2018. 7. 11. 13:46

# 미사용 [백준 1149] RGB 거리 풀이노트 1차 풀이 (2018-07-10, 1984 KB, 0 MS)N 번째 비용의 최소값을 구하려면, N-1 번째 비용의 최소값이 필요하다. * N 번째 집을 R로 칠한다면? N-1 번째 집을 G, B로 칠했을 때의 비용 중 작은것을 선택하고 비용 가산.* N 번째 집을 G로 칠한다면? N-1 번째 집을 R, B로 칠했을 때의 비용 중 작은것을 선택하고 비용 가산.* N 번째 집을 B로 칠한다면? N-1 번째 집을 R, G로 칠했을 때의 비용 중 작은것을 선택하고 비용 가산.

2018. 7. 11. 11:11

# 미사용 [백준 1003] 피보나치 함수 풀이노트 1차 풀이 (2018-07-05, 1988 KB, 4 MS)F(n) = F(n-1) + F(n-2) 이므로, N(n, x) = N(n-1, x) + N(n-2, x) 일 것 이다. * N(n, x) : F(n)을 호출했을 때, F(x)를 호출한 횟수를 반환.* 표로 만들어보면 N(n, 0) = F(n-2) 이고, N(n, 1) = F(n-1) 임을 알 수 있다. F(n)의 결과를 캐싱해둔다면 시간을 효과적으로 단축할 수 있다. * F(n)의 결과가 있다면 F(n-2)를 굳이 처음부터 다시 계산할 필요가 없다.

2018. 7. 11. 10:20

# 미사용 Router : 여러개의 callback 호출하기 다이어그램요약하나의 Router Path에 여러개의 callback이 등록될 수 있으며 next() 함수를 통해 제어한다.res.send() 함수를 호출하여 응답이 완료된 뒤에도, 후행의 callback은 실행될 수 있다. 소스코드 실행결과localhost/ -> ABC

2018. 6. 28. 13:59

# 미사용 Router : 여러개의 라우터가 호출될때 다이어그램 요약먼저 등록된 Router가 응답하고 이외의 Router는 무시된다.이러한 특징을 사용하여 404 Router를 구현할 수 있다. 소스코드 실행결과localhost/ -> Hello, World! localhost/1 -> 404 Not Found.localhost/2 -> 404 Not Found.

2018. 6. 28. 13:22

# 미사용 Router : 재사용 가능성 다이어그램요약express.Router() 는 서로다른 라우터 객체를 생성하여 반환한다.하나의 라우터를 여러 경로에 라우팅해도 된다. 소스코드 실행결과localhost/1 -> Hello, World! (router1)localhost/2 -> Hello, World! (router2)localhost/3 -> Hello, World! (router1)

2018. 6. 28. 12:39

# 미사용 오라클 Redo Redo오라클은 데이터 버퍼 및 컨트롤 파일에 가해지는 모든 변경사항을 Redo Log Buffer에 차곡차곡 기록한다.버퍼가 꽉 찬다면 LGWR 프로세스에게 요청하여 오래된 순서대로 Redo 파일에 쓴 다음 삭제하여 여유공간을 확보하는데,이렇게 둥글게 둥글게 돌아가면서 재활용하는 방식을 라운드 로빈(Round-Robin) 이라고 한다. Redo 파일도 한개만 있는것이 아니라 여러개가 존재하는데,역시 하나의 Redo 파일이 꽉 차면 오래된 순서대로 백업한 뒤 재활용하는 라운드 로빈 방식을 사용한다. 이 때, Redo 파일의 번호가 바뀌는 것을 로그 스위칭(Log Switching)이라고 한다. 위의 프로세스에 의하여 백업된 Redo 파일은 "Offline Redo, Archived Redo" 라고 부르며..

2018. 5. 21. 18:43

# 미사용 오라클 Buffer Lock Buffer Lock버퍼 락은 오브젝트의 제어권한을 얻기 위한 잠금장치이며,DB Buffer Cache에서의 락은 특별하게 Pin이라고 불린다. 저번 장에서 설명했던 Pinned Buffer가 바로 그것이며,락을 얻은 세션만이 해당 버퍼를 수정할 수 있는 권한을 얻는다. 특정 오브젝트의 락을 얻기 위해서는 먼저 접근권한부터 얻어야 하는데,다음과 같은 매커니즘으로 이루어진다.Lock 획득과정래치 획득 (접근권한 획득)락 획득 (제어권한 획득)래치 해제 (접근권한 해제) 다시 락을 해제할 때에도 먼저 접근권한부터 얻어야 하는데,락을 푸는 도중에 다른 프로세스가 버퍼 헤더에 접근할 수 있기 때문이다.Lock 해제과정래치 획득락 해제래치 해제 하지만 항상 위의 프로세스를 따르는 것은 아니다. 래치를 놓을 필요가..

2018. 5. 19. 21:25