Recent posts

BOJ 1697 - 숨바꼭질

0<=N, K<=100000일 때 +1, -1, *2 세 가지 연산을 사용해서 N에서 K로 가는 최소 연산 횟수를 구하는 문제이다. 문제 풀이 +1, -1, *2 세 가지 연산을 할 수 있는데 N에서 시작해서 이 세 연산들을 하면서 Dijkstra...

BOJ 7453 - 합이 0인 네 정수

N(1<=N<=4000)개의 정수로 이루어진 배열 A, B, C, D가 주어질 때 A[a]+B[b]+C[c]+D[d]=0인 (a, b, c, d)의 개수를 구하는 문제이다. 문제 풀이 (a, b, c, d)를 Brute-force로 구하려면 O(4...

BOJ 1261 - 알고스팟

N X M(1<=N,M<=100) 크기의 미로에서 (1, 1)에서 (N, M)으로 갈 때 부숴야 하는 최소한의 벽의 개수를 구하는 문제이다.(1인 칸이 벽으로 채워졌다고 생각하면 된다. 처음 들어갈 때만 벽을 부수는 느낌) 문제 풀이 벽을 가중치라 정하고 ...

BOJ 1208 - 부분수열의 합 2

수열 A[N](1<=N<=40, A[i]는 정수)에 대해 크기가 양수인 부분수열 중에서 그 수열의 원소를 다 더한 값이 S(|S|<=1000000)가 되는 경우의 수를 찾는 문제이다. 문제 풀이 최대 40개의 원소에 대해 brute-forc...

BOJ 2580 - 스도쿠

9X9 크기의 스도쿠를 푸는 문제이다. 문제 풀이 풀어야 하는 곳들을 저장해놓고 그 순서를 따라서 dfs를 돌리면 된다. 소스코드 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 ...