loading
본문 바로가기 메뉴 바로가기
트리(Tree)

1. 트리 (Tree) 구조 트리 : Node와 Branch를 이용해서, 사이클을 이루지 않도록 구성한 데이터 구조 실제로 어디에 많이 사용되나? 트리 중 이진 트리(Binary Tree)형태의 구조로, 탐색(검색) 알고리즘 구현을 위해 많이 사용됨 2. 알아둘 용어 Node : 트리에서 데이터를 저장하는 기본 요소 (데이터와 다른 연결된 노드에 대한 Branch 정보 포함) Root Node : 트리 맨 위에 있는 노드 Level : 최상위 노드를 Level 0으로 하였을 때, 하위 Branch로 연결된 노드의 깊이를 나타냄 Parent Node : 어떤 노드의 다음 레벨에 연결된 노드 Child Node : 어떤 노드의 상위 레벨에 연결된 노드 Leaf Node : (Terminal Node) : ..

IT/Tree 2023. 1. 23. 12:14
해쉬 테이블(Hash Table)

1. 해쉬 테이블 키(Key)에 데이터(Value)를 매핑할 수 있는 데이터 구조 해쉬 함수를 통해, 배열에 키에 대한 데이터를 저장할 수 있는 주소(인덱스 번호)를 계산 Key를 통해 바로 데이터가 저장되어 있는 주소를 알 수 있으므로, 저장 밑 탐색 속도가 획기적으로 빨라짐 미리 해쉬 함수가 생성할 수 있는 주소(인덱스 번호)에 대한 공간을 배열로 할당한 후, 키에 따른 데이터 저장 및 탐색 지웑 2. 알아둘 용어 해쉬 함수(Hash Function) : 임의의 데이터를 고정된 길이의 값으로 리턴해주는 함수 해쉬(Hash), 해쉬 값(Hash Value), 또는 해쉬 주소(Hash Address) : 해싱 함수를 통해 리턴된 고정된 길이의 값 해쉬 테이블(Hash Table) : 키 값의 연산에 의해..

IT/HashTable 2023. 1. 21. 15:48
👨‍💻 알고리즘 복잡도 표현 방법

1. 알고리즘 복잡도 계산이 필요한 이유 하나의 문제를 푸는 알고리즘은 다양할 수 있음 정수의 절대값 구하기 1, -1 >> 1 방법1 : 정수값을 제곱한 값에 다시 루트를 씌우기 방법2 : 정수가 음수인지 확인해서, 음수일 때만 -1을 곱하기 다양한 알고리즘 중 어느 알고리즘이 더 좋은지를 분석하기 위해, 복잡도를 정의하고 계산함 2. 알고리즘 복잡도 계산 항목 시간 복잡도 : 알고리즘 실행 속도 공간 복잡도 : 알고리즘이 사용하는 메모리 사이즈 가장 중요한 시간 복잡도를 꼭 이해하고 계산할 수 있어야 함. 알고리즘 시간 복잡도의 주요 요소 반복문이 지배합니다. - 자동차로 서울에서 부산을 가기 위해, 다음과 같이 항목을 나누었을 때, 가장 총 시간에 영향을 많이 미칠 것 같은 요소는? 자동차로 서울..

IT/복잡도 2023. 1. 21. 13:08
파이썬(Python)

Python의 특징 - 플랫폼과는 독립적인 언어이다 - 인터프리터 언어이다 - 컴파일러와 인터프리터언어의 차이점 컴파일러 인터프리터 소스코드를 기계어로 먼저번역 해당 플랫폼에 최적화되어 프로그램을 실행 작동방식 별도의 번역과정 없이 소스코드를 실행시점에 해석하여 컴퓨터가 처리할 수 있도록함 실행속도가 빠름 한번의 많은 기억장소 필요 장점 단점 간단히 작성, 메모리가 적게 필요 실행속도가 느림 C, 자바, C++, C# 주요 언어 파이썬,스칼라 - 객체 지향 동적 타이핑 언어 객체 지향언어 : 실행 순서가 아닌 단위 모듈 중심으로 프로그램을 작성 -> 하나의 객체는 어떤 목적을 달성하기 위한 행동과 속성을 가지고 있음 동적 타이핑 언어 : 프로그램이 실행하는 시점에 프로그램이 사용해야 할 데이터에 대한 타..

카테고리 없음 2023. 1. 4. 19:27
프로그래머스 문제풀이 Level 2

1. 마법의 엘리베이터 👉 소스코드 public int solution(int storey) { int answer = 0; int nextCnt = 0; int flag = 0; if(storey = 5 && tmp > 50) { nextCnt = 1; } } if(storey % 10 5) { answer += 10 - (storey % 10); flag = 1; } storey /= 10; // 5일때 다음 자리수 값 if(nextCnt == 1) { storey += 1; nextCnt = 0; } // 5보다 큰수일때 그 다음 자리수 if(flag == 1) { storey += 1; flag = 0; } }..

IT/Lv2 2023. 1. 2. 22:40
프로그래머스 문제풀이 Level 1

1. 잘라서 배열로 저장하기 👉 소스코드 public int[] solution(String s) { int[] answer = new int[s.length()]; answer[0] = -1; for (int i = 0; i < s.length(); i++) { int tmp = s.lastIndexOf(s.substring(i, i + 1), i - 1); if (tmp != -1) { answer[i] = i - tmp; } else { answer[i] = tmp; } } return answer; } - 풀지 못한 문제,, 2. 명예의 전당 👉 소스코드 public int[] solution(int k, int[] score) { int[] answer = new int[score.length]..

IT/Lv1 2022. 12. 20. 14:58
이전 1 ··· 19 20 21 22 23 다음
이전 다음

소개 및 문의 · 개인정보처리방침 · 면책조항

© 2026 때부자

티스토리툴바

운영자 : 아벡이
제작 : 아로스
Copyrights © 2022 All Rights Reserved by (주)아백.

※ 해당 웹사이트는 정보 전달을 목적으로 운영하고 있으며, 금융 상품 판매 및 중개의 목적이 아닌 정보만 전달합니다. 또한, 어떠한 지적재산권 또한 침해하지 않고 있음을 명시합니다. 조회, 신청 및 다운로드와 같은 편의 서비스에 관한 내용은 관련 처리기관 홈페이지를 참고하시기 바랍니다.