분류 전체보기
-
프로젝트 생성 및 윈도우 창 띄우기Win API/1. 프로젝트 생성하기 2020. 9. 30. 08:05
Visual Studio 2019를 실행시킨다. 그리고 새 프로젝트 만들기를 선택한다. Windows 데스크톱 마법사를 선택한다. 적당한 프로젝트 이름을 정하고 만들기를 선택한다. 애플리케이션 종류는 데스크톱 애플리케이션을 선택하고, 추가 옵션은 빈 프로젝트를 선택한다. 여기서 빈 프로젝트가 아닌 미리 컴파일된 헤더를 선택해서 프로젝트를 만들어도 된다. 만약, 미리 컴파일된 헤더를 선택해서 만들었다면 프로젝트 명과 동일한 cpp파일이 있다. 이 cpp파일의 내용을 지우고 아래의 내용을 복사해서 만들어도 된다. 다만 그대로 컴파일을 하면 아래와 같은 컴파일 에러가 발생한다. 이는 다음과 같이 인클루드를 해주면 된다. 소스 파일에서 cpp파일을 하나 생성한다. Winmain.cpp 파일에 다음의 내용을 복사..
-
LCS(최장 공통 부분 수열 - longest common subsequence) DPAlgorithm with C/Dynamic Programming 2020. 9. 28. 16:35
LCS가 처음이라면 아래에서 우선 재귀적 방법과 메모이제이션 방법을 익히고 오자. designatedroom87.tistory.com/117 LCS(최장 공통 부분 수열 - longest common subsequence) 재귀적 방법 & 중복제거의 메모이제이션 발췌 문헌 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 최장 공통 부분 수열 - 위키백과, 우리 모두의 백과사전 위키백과, 우.. designatedroom87.tistory.com 점화식은 아래와 같이 4가지 경우가 있다고 하였다. 1. 두 문자열의 맨 마지막 원소가 같은 원소로 끝나는 경우(LCS에 포함이 되는 경..
-
LCS(최장 공통 부분 수열 - longest common subsequence) 재귀적 방법 & 중복제거의 메모이제이션Algorithm with C/DFS 2020. 9. 27. 23:47
발췌 문헌 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 LCS 문제는 최적의 부분구조를 가진다. 이 문제는 더 작은, "부분문제"로 쪼개질 수 있고, 이것은 반복해서 자명한 부분문제가 될 때까지 더 간단한 부분문제로 쪼개질 수 있다. LCS는 또한 겹치는 부분문제를 가진다. 더 높은 부분문제에 ..
-
달팽이 배열Algorithm with C/ETC 2020. 9. 21. 17:41
문제 아래와 같이 데이터를 저장하도록 프로그래밍 하자. 구현 프로그램 실행결과 소스 파일 여기까지만 해도 괜찮지만, 다이나믹한 출력을 위해 아래의 두 함수를 추가해보자. Gotoxy함수에서 COORD 자료형을 쓰기위해서는 Windows.h를 include 해야한다. 콘솔 화면 창의 좌측 상단이 (0,0)이고 우측으로 갈수록 x좌표값이 커지고 아래로 갈수록 y좌표값이 커진다. 위의 두 함수는 이차원 배열에 데이터를 저장할 때 호출하도록 한다. 위의 함수에서 4를 곱하는 부분이 있는데, 열의 간격을 넓히기 위함이다. 열의 간격을 넓히지 않으면 숫자와 숫자 사이가 붙기 때문이다. 적당한 수를 곱하거나 더해서 간격을 준 것이다. 프로그램 실행결과 소스 파일 조금 다른 방식