본문 바로가기

CS17

[알고리즘] Sliding Window 슬라이딩 윈도우 슬라이딩 윈도우 알고리즘 - 배열이나 리스트 요소의 일정 범위 값을 비교할 때 사용하면 유용한 알고리즘 - 투포인터 사용. 투포인터와의 차이는 구간의 넓이가 항상 동일하다는 것 - 핵심: 공통 요소를 재사용하는 것 - start와 end를 사용하고 end가 이동하면서 조건을 벗어나면 start가 이동하는 구조 문제 예시) 1. 정수로 이루어진 배열 [ 2,4,7,10,8,4,5,6,7,1]에서 길이가 3인 서브배열의 합계가 가장 큰 서브배열은? arr는 주어진 배열, k는 길이 int solution(vector arr, int k){ int start = 0, end = 0; int maxSum = 0; int sum = 0; while(end= k){ maxSum = max(maxSum, sum); .. 2020. 9. 30.
[os] linux 명령어 파일 출력/생성 cat 파일 출력 // cat [$PATH] 파일 내용을 출력한다. cat /etc/user // 연속 출력 가능하다 cat [$file1] [$file2] [$file3] 파일 생성 // cat > filename cat >file.ml 하면 파일이 생성되고 바로 편집 상태로 간다. 내용 적고 ctrl + d하면 된다. cat>>[$file1] 위와 동일한데 >이건 기존 파일 덮어쓰기 >>이건 기존 파일에 연속으로 기록하기 파일 생성2 ls-al > filename: ls-al>file.ml 이건 파일 생성만 된다. 파일 병합 cat file1 file2> file3 파일 복사 cat file1>file4 2020. 4. 7.
[알고리즘] 그래프와 그래프 탐색 알고리즘 그래프: G = (V,E) - V vertices 정점 E edge 간선 - |V| 정점 수 |E| 정점 수 그래프의 종류와 선언 sarah950716.tistory.com/12 [그래프] 인접 행렬과 인접 리스트 그래프 관련 문제를 풀 때는, 문제 상황을 그래프로 모델링한 후에 푸는 것이 보편적입니다. 이 때, 모델링한 그래프의 연결관계를 나타내는 두 가지 방식이 있습니다. 1. 인접 행렬 2. 인접 리스 sarah950716.tistory.com 그래프 내에서 노드의 최단 경로를 구하는 방법 1. 하나의 정점에서 다른 하나의 정점까지 최단 경로 구하기 single source and single destination shortest path problem 2. 하나의 정점에서 다른 모든 정점까지의 최.. 2020. 3. 13.
[알고리즘] Floyd-Warshall 알고리즘 모든 최단 거리를 구하는 방법 all pairs shortest path problem 그래프 종류: weighted, directed graph G = (V,E) 이때 weight func w: E->R (R은 실제 weight값, edge에 weight를 매핑한다.) 경로 p의 weight w(p)는 특징 1. 음의 가중치를 가진 간선 사용가능 (다익스트라는 음의 가중치 간선 불가) 2. 자료구조는 2차원 배열 사용 3. optimal substructure 개념 사용 4. 시간복잡도 O(V^3) *optimal substructure 최단 경로 p내에 있는 정점 사이의 path도 모두 최단 경로이다. -> dp사용 초기화 거리를 저장하는 배열 dis[i][j] = c : i에서 j까지 비용이 c 모.. 2020. 3. 13.