목록전체 글 (382)
Priv's Blog
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dkPeJ8/btrq1gWX2O2/vFWKaKiskMQKDF5kaNWvBk/img.jpg)
출처 Quiz: Manage scene flow and data - Unity Learn This quiz will assess your understanding of the concepts covered in the Junior Programmer: Manage scene flow and data mission. learn.unity.com 문제 1 다음 중, 버전 관리 솔루션으로 분류되는 것은 무엇인가요? 패키지 매니저(Package Manager) 비주얼 스튜디오(Visual Studio) 유니티 애널리틱스(Unity Analytics) 깃허브(Github) - 정답 더보기 답: 4 문제 2 다음 중, 일반적으로 버전 컨트롤 솔루션에 의해 수행되지 않는 것은 무엇인가요? 스크립트 상의 간단한 구문 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/l57FR/btrqN25OuHt/s2k6PsirVxUxNEoOGEZiP0/img.png)
1. 스택 (Stack) 스택은 데이터를 임시 저장할 때 사용하는 대표적인 자료구조이다. '마른 풀을 쌓은 더미' 또는 '겹겹이 쌓아놓은 책'의 모습을 연상하면 된다. 후입 선출(LIFO: Last In First Out) 방식에 따라 데이터를 입출력한다. 푸시(Push): 스택에 데이터를 넣음 팝(Pop): 스택에서 데이터를 꺼냄 꼭대기(Top): 스택에 데이터를 푸시하고 팝 하는 윗부분 바닥(Bottom): 스택의 맨 아랫부분 2. FixedStack 클래스 구현하기 이제 스택 자료구조를 직접 코드로 구현해보자. 여기서는 크기가 고정된 스택 클래스를 구현한다. from typing import Any class FixedStack : class Empty(Exception) : pass class F..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ccX8EV/btrqMFb7azT/2zCZHV5vyJWKbqpPn8sOak/img.png)
1. 정렬된 배열에 원소를 추가하는 알고리즘 이진 검색으로 원소가 추가될 위치를 확인한다. 검색 실패 시, 중앙에 위치한다. 원소가 이동하는 데 필요한 시간 복잡도는 O(n)이다. 원소 삭제 시에도 동일한 비용이 발생한다. 2. 해시법 (Hashing) 해시법이란, 간단한 연산을 통해 데이터를 저장할 위치를 구하는 방법이다. 원소의 검색 외에 추가 및 삭제 작업도 효율적으로 구현할 수 있다. 데이터의 저장과 검색에 극단적인 효율을 가지고 있어 빠른 응답을 요구하는 프로그램에 활용된다. 해시값 (Hash Value)이란, 해시법을 통해 계산된 데이터 저장 위치(인덱스)를 말한다. 해시 테이블 (Hash Table)이란, 해시값을 인덱스로 하는 배열을 말한다. 버킷 (Bucket)이란, 해시 테이블에서 원소..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bCxuXy/btrqIrKWV7q/oNqkHZm9iqsd1eQ8taKkMk/img.png)
1. 이진 검색 (Binary Search) 이진 검색 알고리즘이란, 원소가 오름차순이나 내림차순으로 정렬된 배열에서 효율적으로 검색할 수 있는 알고리즘이다. 이진 검색 트리를 기반으로 동작하며, 주목한 원소보다 값이 크면 우측으로, 값이 작으면 좌측으로 움직이면서 검색을 진행한다. 주목한 원소가 이동할 때마다 검색 범위가 1/2로 줄어든다. 정렬된 배열에 대해서 선형 검색보다 매우 빠르게 검색이 가능하다. 이진 검색의 종료 조건은 다음과 같다. 중앙 원소가 키 값과 일치하는 경우, 검색 성공 검색 범위가 더 이상 없는 경우, 검색 실패 from typing import Any, Sequence def bin_search(a: Sequence, key: Any) -> int : pl = 0 pr = le..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/rFrrL/btrquO077kh/gZBbkYdvuMNk81nLL2DFX0/img.png)
1. 검색 알고리즘 (Search Algorithm) 검색 알고리즘이란, 데이터 집합에서 원하는 값을 지닌 원소를 찾아내는 알고리즘 또는 어떤 조건을 만족하는 데이터를 찾아내는 알고리즘을 말한다. 1.1) 키(Key) 데이터의 일부로 검색 조건에서 주목하는 항목이다. 데이터가 정수 값이나 문자열일 경우, 데이터 값 그 자체가 키가 되기도 한다. 국적이 한국인인 사람을 찾는다. (국적: 키값과 일치하도록 지정) 나이가 21세 이상 27세 미만인 사람을 찾는다. (나이: 키값의 구간을 지정) 이름에 '김'자가 들어산 사람을 찾는다. (문자: 키값에 가깝도록 지정) 검색 조건은 1개만 지정할 수도 있고, 논리곱이나 논리합을 사용해 복합적으로 지정할 수 있다. 2. 검색의 종류 검색 알고리즘의 종류는 다음과 같..