[Algorithm] LCS (최장 공통 부분 수열, 최장 공통 부분 문자열)
LCS의 2가지 Longest Common Subsequence (최장 공통 부분 수열) Longest Common Substring (최장 공통 부분 문자열) Subsequence와 Substring의 차이점 Subsequence : 전체 문자열에서 꼭 연속적이지는 않은 부분 문자열 Substring : 전체 문자열에서 연속된 부분 문자열 str1 : 'ABECJ' str2 : 'ABKJG' 공통 부분 수열 -> {}, {A}, {B}, {J}, {A, B}, {A, J}, {B, J}, {A,B,J} -> 최장 공통 부분 수열 str1 : 'ABECJ' str2 : 'TABJG' 공통 부분 수열 -> {}, {A}, {B}, {A, B} -> 최장 공통 부분 문자열 Longest Common Subs..
2021. 10. 3.
[Python(파이썬)] 2차원 리스트 정렬_인덱스, 길이 등에 따른 정렬
1차원 리스트 정렬 [Python(파이썬)] sort와 sorted 차이 sort와 sorted차이 sort() .sort(key = , reverse = True|False) - 리스트를 정렬해주는 기능을 하는 함수, 반환값이 None이다. - 정렬된 값을 리턴하지 않는다. - 원본의 내용을 정렬한 형태로 바꿔준다. - 리스.. young-library.tistory.com 1) 1차원 리스트 길이에 따른 정렬 >>> test = ['abd', 'a', 'b', 'eg', 'adbde', 'aedb'] >>> test.sort(key = len) >>> test ['a', 'b', 'eg', 'abd', 'aedb', 'adbde'] 2) 여러가지 정렬 test.sort(key = lambda x : ..
2021. 9. 6.
[Python(파이썬)] 리스트의 특정 원소 개수 구하기, Counter
리스트의 특정 원소 개수 구하기 count() - 리스트의 특정 원소 개수 구하는 함수 >>> test = [1, 3, 5, 2, 1, 3, 6, 8] >>> test.count(1) 2 >>> test.count(8) 1 >>> test = ['abc', 'apple', 'abaegd', 'abcdeaa', 'cba'] >>> temp = [] >>> for i in test: temp.append(i.count('a')) >>> temp [1, 1, 2, 3, 1] 리스트안 전체 요소의 개수를 각 각 구하기 from collections import Counter Counter(리스트명) >>> from collections import Counter >>> test = [1, 2, 3, 5, 4, ..
2021. 9. 6.
[Python(파이썬)] 리스트 가로, 세로 변환 (행, 열 변환)
그림과 같이 가로와 세로를 변환 하는 방법 test = [[1,2,3,4],[4,5,6,7],[8,9,10,11],[12,13,14,15]] 방법 1 - map 사용 X # map x >>> test2 = [list(i) for i in zip(*test)] # 출력 >>> test2 [[1, 4, 8, 12], [2, 5, 9, 13], [3, 6, 10, 14], [4, 7, 11, 15]] 방법 2 - map 사용 O # map o >>> new_test = list(map(list, zip(*test))) # 출력 >>> new_test [[1, 4, 8, 12], [2, 5, 9, 13], [3, 6, 10, 14], [4, 7, 11, 15]] ※ Asterisk(*) 연산자 하나의 * 연산자..
2021. 9. 1.