Python3 DNA sequence(DNA 시퀀스)에서 dynamic programming(동적 계획법) 이용 Longest Common Subsequences(LCS, 최장 공통 부분 수열) 찾는 python 코드 두 문자열의 Longest Common Subsequence (LCS)를 찾는 알고리즘을 구현한 것입니다. LCS는 두 문자열에서 순서를 유지하면서 공통으로 나타나는 가장 긴 부분 문자열입니다. 동적 계획법을 사용하여 LCS를 찾는 과정: lcs 함수는 두 문자열 X와 Y를 입력으로 받아 LCS를 계산합니다. 문자열의 길이 m과 n을 구하고, (m+1) x (n+1) 크기의 행렬 dp을 초기화합니다. 동적 계획법을 사용하여 행렬 dp을 채웁니다. 행렬의 각 요소는 해당 위치까지의 두 문자열의 부분 문자열들 간의 LCS 길이를 저장합니다. 행렬 dp에서 LCS를 추출하는 백트래킹 과정을 수행합니다. 이를 통해 실제 LCS 문자열 lcs_str을 구합니다. 먼저 lcs 함수를 최적화를 위해 한 번 호출하고,.. 2023. 4. 4. OpenAI 의 chat GPT와 Python을 이용한 tistory 자동 포스팅 프로잭트 보호되어 있는 글 입니다. 2023. 3. 30. 백준 2231 python https://www.acmicpc.net/problem/2231 2231번: 분해합 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 www.acmicpc.net def generator(n): strN = str(n) for i in range(0,len(strN)): n += int(strN[i]) return n N = input() iN = int(N) if iN 196 minSol = 196부터 탐색 시작 */ 예외처리 => 10 이하의 경우 2로 안나눠지면 생성자x 탐색결과 생성자가 없는경우도 생성자x */ 2023. 1. 29. 이전 1 다음