코테 관련6 배열 관련 문제 메서드 Arrays.copyOfRange(원본 배열, 복사할 시작인덱스, 복사할 끝인덱스) 인덱스는 0부터 시작하는것 기준 System.arraycopy(src, srcPos, dest, destPos, length); src - 원본 배열 srcPos - 원본 배열의 복사 시작 위치 dest - 복사할 배열 destPost - 복사할 배열의 복사 시작 위치 length - 복사할 요소의 개수 코플릿에서 문제를 풀면서 자주 쓰이는 메서드들을 매~번 찾아보는 것을 깨달았다,, 내가 편하기 위해 + 좀 외워보고자 계속 쌓아나가는걸로🙃 2022. 10. 6. [자료구조] 그래프 (Graph) Graph : 여러개의 점들이 서로 복잡하게 연결되어 있는 관계를 표현한 자료구조 직접적인 관계? - 두 점 사이를 이어주는 선이 있음(간선) 간접적인 관계? - 몇 개의 점과 선에 걸쳐 이어짐 정점 (vertex): =노드(node), 데이터가 저장되는 그래프의 기본 원소(복수형 : vertices) 간선 (edge): 정점을 이어주는 선, 정점 간 관계를 나타냄 (단방향 →← / (양방향 ↔) = (무방향 -) ) 인접 정점 (adjacent vertex): 하나의 정점에서 간선에 의해 직접 연결되어 있는 정점 가중치 그래프 (weighted Graph): 연결의 강도(추가적인 정보)가 얼마나 되는지 적혀져 있는 그래프 비가중치 그래프 (unweighted Graph): 연결의 강도가 적혀져 있지 않.. 2022. 9. 27. [자료구조] 트리 순회(Tree traversal) , BFS와 DFS 트리 순회 : 특정 목적을 위해 트리의 모든 노드를 한 번씩 방문하는 것 모든 노드를 순회하는 방법에는 크게 세 가지가 있다! 루트 노드를 방문하는 순서에 따라 나뉨. 전위 순회 (preorder traverse) / 중위 순회 (inorder traverse) / 후위 순회 (postorder traverse) *트리구조 노드 순차 조회 시 항상 왼쪽 -> 오른쪽 순서이다. Search 순서 pre- ROOT left right in- left ROOT right post- left right ROOT 전위 순회 중위 순회 후위 순회 BFS와 DFS 그래프의 탐색 시 : 모든 정점들을 한 번씩 방문(탐색) 하는 것이 목적 배열 처럼 정렬이 되어 있지 않기 때문에, 하나씩 모두 방문하여 찾아야 함 BFS.. 2022. 9. 27. [자료구조] 트리(Tree)구조, 이진트리(Binary Tree) 나무를 거꾸로 뒤집어 놓은 듯한 이 자료구조를 트리구조라고 한다. 하나의 뿌리(가장 맨위 root)로부터 가지가 사방으로 뻗은 모양이 특징이다! 트리구조 = - 단방향 그래프 : 아래로만 뻗어나간다 (사이클 X) - 계층적 자료구조 : 데이터가 바로 아래에 있는 하나 이상의 데이터에 무방향(-)으로 연결되어있음! - 비선형 구조 : 하나의 데이터 아래에 여러개 데이터 존재 가능 트리 구조, 특징 루트 : 데이터의 시작 노드, 하나의 꼭짓점 간선 : 여러개의 데이터를 잇는 선 노드 : 트리를 이루는 모든 개별 데이터 (1) 부모 노드 : 두 개의 노드가 상하 계층으로 연결될 경우 루트에서 가까운 노드 ex) 위의 구조에서는 2는 6과 7 노드의 부모노드 (2) 자식 노드 : 상하 계층 연결될 경우 루트에서.. 2022. 9. 27. [자료구조] 스택(Stack)과 큐(Queue) 이미지 출처 : https://www.scaler.com/topics/java/stack-and-queue-in-java/ Stack : 쌓다 데이터를 순서대로 쌓는 자료구조 LIFO(Last In First Out) : 후입선출 구조 ex) 프링글스, 브라우저 뒤/앞 으로 가기 예1) 1, 2, 3, 4를 스택에 차례대로 넣습니다. Stack stack = new Stack(); //Integer형 스택 선언 stack.push(1); stack.push(2); stack.push(3); stack.push(4); --------------------------- 1 2022. 9. 27. [알고리즘] 재귀함수(recursion)란? 재귀 : 원래의 자리로 되돌아가거나 되돌아옴 재귀 함수 : 자기 자신을 호출하는 함수 장점 : 코드가 간결해지고, 수정이 용이해짐 (여러개의 반복문을 사용하지 X) 변수를 여러개 사용할 필요가 없음 단점 : 코드 흐름 직관적이지 X 반복문에 비해 메모리 사용 많음 재귀 함수 사용 위한 조건 : 문제의 단위를 잘게 쪼갤 수 있을 것, 재귀 호출 종료되는 시점이 존재할 것 재귀적 사고 방법 1. 재귀 함수의 입력값, 출력값 정의 어떤 요소를 입력받아 어떤 타입을 리턴하는지! ex) [int] -> int 식으로 미리 적어놓음 2. 문제를 쪼개고 경우의 수 나누기 입력값이나 문제의 순서, 크기로 문제를 쪼개본다. 이때 구분된 문제를 푸는 방식이 순서, 크기에 관계없이 모두 같아야함! ex) arrSum(new.. 2022. 9. 26. 이전 1 다음