그래프란? 그래프는 트리(Tree)를 포괄한 개념 구조가 복잡한 자료 구조는 선형 구조나 트리로 표현 불가 연결되어 있는 원소 간의 관계를 표현하는 자료 구조 그래프 구성 정점(Vertex)와 객체를 연결하는 간선(Edge)로 구성 그래프 G를 G = (V, E)로 정의한다. 그래프 종류 1. 무방향 그래프 간선에 방향이 없는 그래프 양쪽으로 다...
슬라이딩 윈도우란 배열이나 리스트 요소의 일정 범위 값을 비교할 때 유용한 알고리즘 정수 배열에서 연속된 정수들의 최대 합을 구할 때 사용된다 예제문제 나는 이 문제를 for문에서 i, i+1, i+2 로 찾았는데 슬라이딩 윈도우으로 효율적으로 풀 수 있다(내가 했던 다 찾는 방식은 뭐가 문제인지는 모르겠음) 이렇게 일 때, 투 포인터로 정수 요소 3...
동적계획법이란? 큰 문제를 작은 단위로 쪼개서 푸는 법 점화식을 사용한다. 이런 식으로 재귀적으로 전체 문제를 푼다 대표적인 문제로 피보나치 수열, 배낭 문제 등이 있음 예시 문제 도착점을 가장 적은 수부터 정하고 풀어본다. 도착점이 1일 경우, 1가지
삽입 정렬 왼쪽에서 오른쪽으로 가면서 각 요소들을 왼쪽 요소와 비교하여 알맞은 자리에 삽입하는 형식의 정렬 방법. 왼쪽 비교 대상 데이터들이 정렬 되어 있다는 가정 하에 진행 메모리가 절약되지만 자료 개수가 많아지면 성능이 매우 떨어짐 arr[i]를 tmp에 할당 그리고 j는 i기준으로 왼쪽으로 돌면서 tmp과 비교한다. arr[j]가 tmp보다 ...
투 포인터란 리스트에 순차적으로 접근해야할 때 두 개의 점의 위치를 기록하면서 처리하는 알고리즘 정렬되어 있는 두 리스트의 합집합에도 사용됨 예제 : 어떤 숫자들의 리스트가 주어질 때, 해당 리스트의 연속 수열의 합이 특정 값을 가지는 것을 확인하는 문제
문제 내 풀이while 안에 if가 두 번 있어서 좀 지저분한데 답안 보니까 답안이 더 지저분한 거 같기도 하고.. 나머지랑 몫이랑 섞어서 사용하는 게 아직 익숙하지 않다. 답안출처 : 제주코딩캠프
문제내 풀이처음에 타켓과 각 차이를 담는데 이중배열로 했다가 나중에 정렬하기가 힘들어서 객체에 담아서 정렬했다!좀 더 깔끔하게 풀고 싶은데... 컴퓨터스럽지 않은 느낌!!출처 : 제주코딩캠프