본문 바로가기

알고리즘/백준

(61)
백준 [9251] LCS 여기에 설명이 진짜 잘 돼있다. ko.wikipedia.org/wiki/%EC%B5%9C%EC%9E%A5_%EA%B3%B5%ED%86%B5_%EB%B6%80%EB%B6%84_%EC%88%98%EC%97%B4 최장 공통 부분 수열 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 최장 공통 부분수열 문제는 LCS라고도 불린다. 이는 주어진 여러 개의 수열 모두의 부분수열이 되는 수열들 중에 가장 긴 것을 찾는 문제다.(종종 단 두 개중 하 ko.wikipedia.org 문자열 A, B가 있을 때LCS함수는 다음과 같이 정의한다. i = 0 또는 j = 0 일 때 -> 0 A[i] == B[i] 일 때 -> LCS[i][j] = LCS[i-1][j-1] + 1 A[i] != B[i] 일 ..
백준 [12865] 평범한 배낭 유명한 배낭 문제 영문판 위키에 자세하게 나와있지만, 그림 설명은 없다. en.wikipedia.org/wiki/Knapsack_problem Knapsack problem - Wikipedia From Wikipedia, the free encyclopedia Jump to navigation Jump to search Problem in combinatorial optimization Example of a one-dimensional (constraint) knapsack problem: which boxes should be chosen to maximize the amount of money while still keeping the o en.wikipedia.org 캐시의 크기를 다음과 같이 ..
백준 [2580] 스도쿠 이전 백트래킹 문제들이 일차원 배열을 이용해, 한 줄씩 처리하는 게 가능했다면, 이 문제는 이 방법이 먹히지 않았다. 특히, 입력을 2차원 배열의 스도쿠 판만 받아야 한단 생각을 해서 많이 꼬이고 헤맸다. 이 문제에서 우리가 고려해야 할 사항은 3가지다. 1. 가로줄 2. 세로줄 3. 3*3 정사각형 맨 처음에 스도쿠 판에 저장된 데이터만 가지고 올바른 값이 들어가있는지 검증하는게 무척 어려웠다. 이전에 풀었던 N-Queen 방식대로하면 세로줄까진 어찌어찌 해결해도, 3*3 정사각형에서 매번 헤맸다. 해결방법은 생각보다 간단했다. 입력을 받고나면, 해당 위치의 가로, 세로 3*3 칸에 입력받은 숫자가 사용됐다는 것만 표시하면 된다. 그림으로 설명하자면 이렇게 입력을 받는다면 가로의 정보를 저장하는 배열엔..
백준 [9663] N-Queen 백트래킹을 이용한 문제. 생각한 방법은 3가지였다. 3번째 방법이 내가 적용한 풀이다. 1. 2차원 배열을 선언해, 퀸이 배치 될 때, 퀸의 경로에 1을 더해서, 다음 퀸이 이 자리에 오지 못하게 한다. 만약, 다른 퀸의 경로하고 겹치는 경우 1을 또 더해준다. 아래 그림이 예시다. 하지만, 이렇게 되면, 퀸 배치를 옮길 때, 복구 작업도 해줘야 하기 때문에, 시간이 오래걸리고, 코드도 깔끔하게 나오진 않았다. 2. 매 탐색마다, N 크기를 1씩 줄이기 어떤 자리에 퀸이 들어왔단 것은 해당 행과 열엔 퀸이 들어오지 못하니, 다음 재귀함수에선 (N-1 * N-1)만큼의 크기를 검사하는 방식 여기서 문제는 위의 그림에서 보듯이, 2번째 퀸이 3번째 열에 배치되면, 2번째 열에 퀸을 배치할 수 있음에도 불구하..
6. Elliptic curve 보호되어 있는 글입니다.