티스토리 뷰
RGB문제
1) 색칠할 수 있는 최대의 경우 : 3의 n승 => 완전탐색으로는 구하기 어렵다.
문제해결
1) func(idx, color) 함수를 정의
2) idx 번쨰 집을 color로 칠한다
3. 이 때 idx부터 n번째 집까지 칠하는데 드는 최소비용.
문제해결
1. func(idx, color)는 재귀적으로 어떻게 정의?
2. 현재 위치를 칠할 때는 이미 cost가 정해져있다.
3. func(idx, color) = min(func(idx+1, c1), func(idx+1, c2)) + cost[idx][color] => 이것 자체만으로는 완전탐색과 다를바가 없다.
4. 메모이제이션 하는 코드가 들어가 있어야 한다.
DP 문제의 경우 ~ 경우의 수를 구하여라, 최소값을 구하여라, 최대값을 구하여라 와 같이 끝맺음을 맺는다.
피보나치 함수
1. 피보나치 함수를 재귀로 짠다
2. 0일 경우, 1일 경우 둘 다 비슷하다.
3. 하지만 기저사례가 달라지게 되므로 서로 다른 함수가 필요
int&는 무엇인가?
int a = 10;
a = 20;
int& b = a;
b = 20; // a => 20;
즉 a의 별명이 b가 된 것이다.
이친수 문제
1. 완전탐색으로 짜려면 인자가 몇개가 필요한가? : 다음을 결정할 떄 중요한 인자는 현재 인덱스이다. 그리고 여기서의 조건은 1이 두 번 연속으로 나올 수 없다. 그렇기 때문에 현재 인덱스와 현재의 숫자가 인자 2개로 넘어가야 한다.
2.
[문제 해결]
1. func(idx, num)
if
2. 캐시테이블은 인자로
합분해 문제
문제해결
1. func(cur, count)
2. 현재 cur이란 숫자를 count개의 수를 이용해서 만듬
3. 이 때 N까지 만드는 경우의 수
4. func(cur, count) = sigma[i = 0..N] func(cur + 1, count + 1)
memset함수란?
1byte => 8bit
1byte => 0
0000000000000000 => int
1byte => -1
8bit
2의 보수
1. 모든 비트를 반전시킨다.
2. 1을 더한다
1byte에서 1은 (0)0000001 => 1
(1)1111111 => -1
11111111111111111111111111111111 int => -1
알고리즘 분석
- cache 테이블의 크기가 시간 복잡도
: 재귀함수는 캐시테이블의 크기만큼 돈다.
동전1, 내려가기 문제
문제해결
1) 메모이제이션이 아니라 반복문으로 풀 수 있는 문제
2)
점프
1, 2, 3 더하기
1. F(n)을 재귀적으로 정의
2. F(n) = F(n-1) + F(n-2) + F(n-3)
계단 오르기
1. F(idx, cost)를 재귀적으로 정의
2. F(idx, count) = max(
if cost < 1: F(idx - 1, cost + 1), F(idx -2, 0)
) + cost[idx]
시간복잡도
1) Cache 테이블의 크기가 시간 복잡도
2)
LCS
1) 두 문자열이 주어진다
2. 두 문자열의 최대 공통 부분 수열을 구해라
문제해결
1. F(x, y)
2. A[x], B[y]부터 만들어 갈 수 있는 최대 공통부분 수열의 수
3. F(x, y) = max(
F(x+1, y )
F(
)
퇴사
1. F(idx)
2. idx날부터 상담을 할 수 있을 때 벌 수 있는 최대 금액
부분집합의 합
1 1 1 2 2 2 2 3 3 3 3 3
L U
Lower bound : 내가 찾고자 하는 수의 첫 번째 수를 찾는다.
Upper bound : 내가 찾고자 하는 수의 마지막 수 바로 다음 숫자
'Computer Science' 카테고리의 다른 글
[인덱스] Function Based Index(FBI - 함수기반 인덱스) (0) | 2020.01.27 |
---|---|
[알고리즘] 마지막 수업 (0) | 2019.03.02 |
[BOJ] 2635번 수 이어가기 (0) | 2019.02.10 |
[BOJ] 2309번 일곱 난장이 (0) | 2019.02.10 |
[알고리즘] 완전 탐색 & 재귀함수 (0) | 2019.02.09 |
- Total
- Today
- Yesterday
- 도커
- resize
- 폭포수
- 재테크공부
- 열반스쿨기초반
- 인셉션
- Inception
- 내년은 빡세게!!
- 유즈케이스
- 깃허브
- 관계대수
- Spring boot
- 깃
- 부동산공부
- front
- 개발자 회고
- Use case
- 항해플러스후기
- 월부닷컴
- 항해솔직후기
- 파라메터
- GIT
- 항해플러스백엔드
- 월급쟁이부자들
- push_back
- ```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````
- docker
- 2023년
- github
- pop_back
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |