boj 2248 : 이진수 찾기 https://www.acmicpc.net/problem/2248 처음에 단순 완전 순열 탐색 DFS로 찾으니 역시나 시간초과. ㅜㅜ다른방법을찾았다. 1. 맨 앞에 1을 두고 나머지 자리수를 0으로 채우면 최소 몇번째 숫자일까?2. 맨 앞에 0을 두고 나머지 자리수를 0으로 채우면 최소 몇번째 숫자일까? 위의 1,2 두가지의 값으로 찾았다. 1. N, K : 각각 남은 자릿수, 남은 1의 갯수2. a[N][K] : N의 자리에 1을 채우고 나머지를 0으로 채웠을 때 몇번째 값인지?3. a[N][K] = sum{ (N-1,0) ~ (N-1,K) } : (i,j) 는 iCj (i combination j) a[N][K]가 주어진 I보다 작거나 같으면 N의 자리에 1을 채우고,..
boj 12019 : 동아리방 청소! https://www.acmicpc.net/problem/12019 DP로 해결하였다.1. a[i][j][k] : i번째 날 j번의 청소가 남았을 때 k의 더러움2. b[i] : i번째 날에 오기로 한 사람 수3. a[i][j][k] = min(a[i + 1][j - 1][0] + k*b[i], a[i + 1][j][k + b[i]] ) 다른 AC 코드를 보니 더 간단한 풀이가 있는 것 같은데... 생각해봐야겠다
boj 10158 : 개미 https://www.acmicpc.net/problem/10158 x축, y축 따로따로 계산하면 쉽다. 문제에서 1. (p,q) : 초기 개미의 위치2. t : 이동 횟수3. w , h : 가로,세로 너비, 높이 위와 같이 주어지면 1. p + t : 는 개미가 x축으로 이동할 횟수,2. q + t : 는 개미가 y축으로 이동할 횟수 1,2 두 개를 가지고 간단한 수식으로 답을 표현할 수 있다.개미는 x축, y축으로 독립적으로 왔다 갔다 하므로 최종 x의 위치는 다음과 같다. y 좌표도 마찬가지로 구할 수 있다.
boj 2469 : 사다리타기 https://www.acmicpc.net/problem/2469 사다리의 위에서 부터 blank line을 만날 때까지 내려가고, 아래서부터 blank line을 만달 때까지 올라온 string을 각각 a,b라고 하면 1. a[i] = b[i] 일 경우 * 표시,2. a[i] = b[i + 1] && a[i + 1] = b[i] 이고 이전에 '-' 표시를 하지 않았다면 '-'표시3. 1,2 둘다 아닌 경우는 만족하는 사다리를 만들 수 없다.
boj 10159 : 저울 https://www.acmicpc.net/problem/10159 플로이드 알고리즘과 유사한 방법으로도 풀 수 있다. a b의 경로가 있는가? 로 변환된다.a b 이고 b -> c일 때 a -> b -> c 이므로 a -> c 이다. 1. a와 b의 관계를 구할 수 있는가?2. a b 이거나 b -> a 인가? 1,2,3은 동치이므로 a와 b의 관계를 구할수 있는가? 라는 질문은a -> b의 경로 혹은 b -> a의 경로가 있는가? 라는 질문으로 변형하여 floyd 알고리즘으로 푼다. 시간 복잡도는 n^3
boj 2602 : 돌 다리 건너기 https://www.acmicpc.net/problem/2602 간단한 DP로 해결 가능하다. 1. 순서대로 방문해야하는 문자열을 s, 천사다리를 ss[0], 악마다리를 ss[1]이라 두고,a(i, j, k)를 i개의 문자열을 이용했을 때 j다리 k번째 위치까지의 경우의 수로 두면 2. a(i, j, k) = sum{ a(i-1, !j, 1~k) } ( ss[j][k] = s[i] 일 때) 이와같이 점화식을 세우면 간단하게 답을 출력할 수 있다.
boj 5397 : Keylogger https://www.acmicpc.net/problem/5397 2개의 stack을 이용해서 간단하게 해결 할 수 있다.커서가 현재 위치하고 있는 곳을 기준으로 왼쪽 문자열은 left stack에, 오른쪽 문자열은 right stack에 넣어준다. 의 경우 반대로 right stack에서 pop하여 left stack에 push.-의 경우 left stack을 pop.charactor의 경우 left stack에 push. 위의 4가지 연산으로 모두 해결 가능하다.
- Total
- Today
- Yesterday
- 백준 1647
- 알고리즘
- 백준 1806
- boj 7579
- 백준 2467 용액
- 네블컵 2회
- boj 앱
- 2469
- BOJ
- 백준 부분합
- 풀이
- codeground
- dp
- 10159
- 백준알고리즘
- 백준 용액
- 연습문제
- boj 1799
- 백준 비숍
- 문제 풀이
- 백준
- 백준 7579 앱
- scpc
- 백준 1799
- 백준 도시 분할 계획
- 백준 앱
- SCPC 2016
- boj 용액
- 도시 분할 계획
- boj 1806
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |