목록전체 글 (113)
W 개발 일지
문제 설명 머쓱이는 태어난 지 6개월 된 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo","ma" 네 가지 발음을 최대 한 번씩 사용해 조합한(이어붙인) 발음 밖에 하지 못 합니다. 문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return하도록 solution 함수를 완성해주세요. 입출력 예 babbling = ["aya", "yee", "u", "maa", "wyeoo"] result = 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 class Solution { public int solution(String[] babbling) { int answer = 0; for(int i = 0; i
버블 정렬 알고리즘 첫번째 데이터와 두번째 데이터를 비교하고 두번째와 세번째 데이터를 비교하고 세번째와 네번째를 비교해 (중략) 1회전 반복이 끝나면 가장 큰 데이터가 맨 뒤로 가기 때문에 모든 반복을 돌고나면 오름차순 정렬이 되는 알고리즘이다. 1 2 3 4 5 6 7 for(i=0 ; i
삽입 정렬의 기본적인 연산은 데이터가 정렬되어 있을 때 이들 데이터 사이의 적당한 위치에 맞는 데이터를 삽입하는 것이다. 데이터를 삽입하고 난 뒤 그보다 오른쪽에 있던 데이터는 오른쪽으로 하나씩 자리를 옮겨줘야 한다. 삽입 정렬은 두 번째 데이터부터 정렬을 시작해 그 앞에 있는 데이터와 비교하고 삽입할 위치를 찾은 뒤 삽입할 위치의 공간 확보를 위해 데이터를 오른쪽으로 옮겨준 뒤 삽입하게 된다. 1 2 3 4 5 6 7 8 9 for(i=2 ; i
단순 정렬 알고리즘 1 2 3 4 5 for(i=1 ; i
AVL 트리 (Adelson-Velskii & Landis Tree) : 대표적인 균형 이진 탐색 트리 각 노드에서 왼쪽 서브 트리의 높이(hL : height of left subtree)와 오른쪽 서브 트리의 높이(hR : height of right subtree)의 차이가 1 이하인 트리 특징 - 왼쪽 서브 트리 < 부모 노드 < 오른쪽 서브 트리의 크기 관계를 갖음 *이진 탐색 트리의 특징 - 각 노드의 왼쪽 서브 트리 높이와 오른쪽 서브 트리 높이의 차이 (hL - hR)를 노드의 균형 인수(BF, balance factor)라고 함 - 각 노드의 균형 인수로 {-1, 0, +1} 값만 가지게 함으로써 균형을 유지함 루트 노드 50을 기준으로 왼쪽 서브 트리의 높이는 2, 오른쪽 서브 트리의 ..
Union-Find 알고리즘 : 정점으로 구성된 집합을 관리하는 방법으로 집합의 합병과 요소가 어떤 부분집합에 속하는가를 판정하는 두 가지 연산. find 연산으로 특정 원소들을 집합 안에 있는지 없는지 판별하고, 없다면 두 원소들이 속한 트리들을 합병한다. Union = 2개의 원소로 이루어진 집합을 합치는 연산. = 합집합 Find = 특정 원소가 속한 집합을 찾아주는 연산. 총 세 가지 방법이 있다. 첫번째 방법 : 부모 노드 활용 Find 연산 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 //자기 자신을 가지는 노드로 초기화. void initgroup() { for(i=0;i 1 -> 2 -> 3 -> 5 -> 10 -> 13 Find 연산 연결리스트의 검색 연산으로 찾으려는..
트리는 사이클이 없는 연결 그래프 그래프에 대한 설명글은 👇🏻 https://tildacoderecorder.tistory.com/107 [ 자료 구조 ] 그래프의 개념과 구조 그래프 : 연결되어 있는 원소 사이의 다:다 관계를 표현하는 자료구조 ( 트리는 1:N 관계 표현 ) 그래프 G = 객체를 나타내는 정점(Vertex)과 객체를 연결하는 간선(Edge)의 집합. G = (V, E) 그래프의 종 tildacoderecorder.tistory.com 신장 트리 : n개의 정점으로 이루어진 무방향 그래프G에서 n개의 모든 정점과 n-1개의 간선으로 만들어진 트리 깊이 우선 신장 트리 : 깊이 우선 탐색을 이용해 생성된 신장 트리 너비 우선 신장 트리 : 너비 우선 탐색을 이용해 생성된 신장 트리 최소 ..
그래프 : 연결되어 있는 원소 사이의 다:다 관계를 표현하는 자료구조 ( 트리는 1:N 관계 표현 ) 그래프 G = 객체를 나타내는 정점(Vertex)과 객체를 연결하는 간선(Edge)의 집합. G = (V, E) 그래프의 종류 무방향 그래프 : ( = 양방향 그래프) 두 정점을 연결하는 간선에 방향이 없는 그래프, 정점 Vi와 정점 Vj를 연결하는 간선을 (Vi, Vj)로 표현 ex) 위 그림의 왼쪽 그래프가 G1, 오른쪽 그래프가 G2일 때. V(G2) = (A, B, C, D). E(G2) = {(A, B), (B, C), (B, D), (C, D)} 방향 그래프 : 간선에 방향이 있는 그래프, 정점 Vi에서 정점 Vj를 연결하는 간선 즉, Vi -> Vj를 로 표현. Vi를 꼬리(tail), Vj..