목록Dev. Study Note (212)
Priv's Blog

1. 이진 검색 (Binary Search) 이진 검색 알고리즘이란, 원소가 오름차순이나 내림차순으로 정렬된 배열에서 효율적으로 검색할 수 있는 알고리즘이다. 이진 검색 트리를 기반으로 동작하며, 주목한 원소보다 값이 크면 우측으로, 값이 작으면 좌측으로 움직이면서 검색을 진행한다. 주목한 원소가 이동할 때마다 검색 범위가 1/2로 줄어든다. 정렬된 배열에 대해서 선형 검색보다 매우 빠르게 검색이 가능하다. 이진 검색의 종료 조건은 다음과 같다. 중앙 원소가 키 값과 일치하는 경우, 검색 성공 검색 범위가 더 이상 없는 경우, 검색 실패 from typing import Any, Sequence def bin_search(a: Sequence, key: Any) -> int : pl = 0 pr = le..

1. 검색 알고리즘 (Search Algorithm) 검색 알고리즘이란, 데이터 집합에서 원하는 값을 지닌 원소를 찾아내는 알고리즘 또는 어떤 조건을 만족하는 데이터를 찾아내는 알고리즘을 말한다. 1.1) 키(Key) 데이터의 일부로 검색 조건에서 주목하는 항목이다. 데이터가 정수 값이나 문자열일 경우, 데이터 값 그 자체가 키가 되기도 한다. 국적이 한국인인 사람을 찾는다. (국적: 키값과 일치하도록 지정) 나이가 21세 이상 27세 미만인 사람을 찾는다. (나이: 키값의 구간을 지정) 이름에 '김'자가 들어산 사람을 찾는다. (문자: 키값에 가깝도록 지정) 검색 조건은 1개만 지정할 수도 있고, 논리곱이나 논리합을 사용해 복합적으로 지정할 수 있다. 2. 검색의 종류 검색 알고리즘의 종류는 다음과 같..

1. 개별적으로 생성한 리스트의 동일성 판단하기 다음과 같이 2개의 리스트를 생성했다고 가정하자. lst1 = [1, 2, 3, 4, 5] lst2 = [1, 2, 3, 4, 5] 이 2개의 리스트를 다음과 같이 is 연산자로 동일성(identity)을 판단해보자. lst1 is lst2 이 연산 결과는 False이다. 따로따로 생성한 리스트(튜플)의 경우, 리터럴이 아니기 때문에 서로 다른 식별 번호를 가진다. 또한 is 연산자는 이 식별 번호가 동일한 지를 판단하는 연산자이다. 2. 리스트(튜플)의 대입 이제 리스트 2개를 선언하여 서로 대입하면 어떻게 되는지 알아보자. lst1 = [1, 2, 3] lst2 = lst1 lst1[2] = 9 print(lst1) print(lst2) 위의 결과는 다..

1. 배열 원소 최댓값 구하기 배열 a의 원소가 3개인 경우 max = a[0] if a[1] > max : max = a[1] if a[2] > max : max = a[2] 배열 a의 원소가 4개인 경우 max = a[0] if a[1] > max : max = a[1] if a[2] > max : max = a[2] if a[3] > max : max = a[3] 코드를 이렇게 작성할 경우, 배열의 크기가 커지면 if문의 개수도 많아지기 때문에 적합하지 않다. 2. 배열 원소의 최댓값 구하기 배열 원소의 최댓값을 구하는 과정은 다음과 같다. 원소(a[0])의 값을 maximum에 대입한다. 필요에 따라 if 문에서 maximum 값을 업데이트한다. 원소 수가 n일 경우, if문은 n-1번 실행된다...

1. 두 값 교환하기 들어가기에 앞서 이전에 살펴보았던 두 변수의 값을 교환하는 과정을 다시 살펴본다. python에서 제공하는 튜플(tuple)을 사용한 방식과 임시 변수를 사용한 방식의 비교이다. 이번 파트에서는 python에서 이처럼 매우 간편한 작업이 어떻게 가능한지에 대해서 살펴본다. 2. python의 변수 python에서는 모든 데이터, 함수, 클래스, 모듈, 패키지 등의 구성 요소들을 객체(object)로 취급한다. 객체는 자료형을 가지며, 메모리 공간을 차지한다. 이는 다시 말해, python의 변수는 값을 가지지 않는다는 것을 의미한다. 일반적으로 다른 언어에서는 변수에 값을 '대입'한다고 표현한다. 이는 변수의 자료형에 따라 정해진 메모리 공간이 할당되고, 그 주소 공간에 사용자가 대..

출처 The .NET Core SDK cannot be located. .NET Core debugging will not be enabled. Make sure the .NET Core SDK is installed and is on When I open my vs code program I get this message: The .NET Core SDK cannot be located. .NET Core debugging will not be enabled. Make sure the .NET Core SDK is installed and is on the path. If I stackoverflow.com OmniSharp.MSBuild.ProjectManager Attempted to update ..

1. 자료구조 (Data Structure) 자료구조란, 데이터 단위와 데이터 자체 사이의 물리적 또는 논리적 관계로 이루어진 데이터 구성을 말한다. 컴퓨터에서 처리해야 하는 많은 데이터들을 효율적으로 관리, 구조화하는데 필요한 개념이다. 2. 학생 성적 분석 알고리즘 학생 5명의 시험 점수를 입력받아 합계, 평균을 구하는 알고리즘을 작성해보자. 사용자에게 입력받은 각 학생의 점수를 score 1, score 2, ~ , score n에 대입하고, 합계와 평균을 수식으로 계산한다. print("학생 그룹 점수의 합계, 평균을 구하는 알고리즘") ## User Input ## score1 = int(input("1번 학생 점수: ")) score2 = int(input("2번 학생 점수: ")) score..

출처 비주얼 효과 구현 – 사용자 인터페이스 – 헤드업 디스플레이 - Unity Learn 지금까지 메인 캐릭터가 다쳤을 때 Debug.Log를 사용하여 현재 체력 수준을 출력했습니다. 하지만 플레이어에게는 콘솔 창이 없으므로 게임에서 로그를 볼 수 없습니다. 따라서 피드백을 제공하기 learn.unity.com 1. 체력 게이지 바를 만들자. 게임 개발 도중 체력 게이지 바를 만들 일이 생겼다. 아래 사진은 출처에 걸린 유니티 튜토리얼 문서에서 캡처한 것이지만, 로직은 같으니... 게임을 해본 사람이라면 알겠지만, 저 파란색 게이지가 체력 수치를 나타내 주는 게이지다. 저걸 구현하기 위해서 마스크도 세팅하고, 스프라이트도 넣고 잘하고 있었는데... 웬걸, 아무리 아이콘을 눌러봐도 피벗 아이콘이 움직일 ..