분류 전체보기 73

선형 자료구조

연결 리스트 각 노드가 데이터와 포인터를 가지고 한 줄로 연결되어 있는 방식으로 데이터를 저장하는 자료 구조 공간 효율성이 극대화된다. 삽입, 삭제에는 O(1) / 탐색에는 O(n) 의 시간이 소요된다. 싱글 연결리스트: next 포인터만 가진다. 이중 연결리스트: next , prev 포인터를 가진다. 원형 이중 연결리스트 : 이중 연결리스에서 마지막 노드의 next포인터가 헤드 노드를 가리킨다. 배열 같은 타입의 변수들로 이루어져 있고, 크기가 정해져 있으며, 인버한 메모리 위치에 있는 데이터를 모아놓은 집합 여기서는 '정적 배열'을 기반으로 설명한다. 탐색에는 랜덤 접근(random access)가 가능해 O(1) / 삽입, 삭제에는 O(n)의 시간이 소요된다. 따라서 삽입, 삭제가 자주 일어난다면..

복잡도

복잡도는 시간 복잡도와 공간 복잡도로 나뉜다. 시간 복잡도 문제를 해결하는 데 걸리는 시간과 입력의 함수 관계 알고리즘의 로직이 얼만큼의 시간을 소요하는지 나타낸다. 시간 복잡도 표기법 Big-O(빅-오) = 상한 점근 Big-Ω(빅-오메가) = 하한 점근 Big-θ(빅-세타) = 그 둘의 평균 Big-O 표기법 입력 범위 n을 기준으로 로직이 몇번 반복되는지 나타내는 것 가장 영향을 많이 끼치는 항의 상수 인자를 빼고 나머지 항을 없앤 것 -> 다른 것은 크기가 미미하기 때문 공간 복잡도 프로그램을 실행시켰을 때 필요로 하는 자원 공간의 양 최근에는 컴퓨터 성능이 발달하여 중요성이 많이 줄어들었다. 공간 복잡도 계산법 (빅-오) a = 1 일반적으로 공간이 하나 생성되는 것을 1이라고 표현. 이를 O(..

알고리즘/기타 2023.06.30

Unity 게임 인터페이스

Canvas : UI가 그려지는 도화지 역할인 컴포넌트 스크린 : 게임이 표시되는 화면, 해상도로 크기 설정 Unity 좌표계 - 월드 좌표계 , 스크린 좌표계 Text : 문자열을 표시하는 UI Image : 이미지를 표시하는 UI - 이미지 파일을 Sprite로 변환해야 적용 가능! - Image Type : Filled 설정 후에 Fill Amount 설정하면 스킬 쿨타임 표현 가능 팁 Button : 클릭 이벤트를 가지고 있는 반응형 UI - OnClick() : 버튼 클릭 시 호출되는 이벤트 함수 앵커 -빨간점 : 캔버스에서의 기준점 -파란점 : 컴포넌트에서의 기준점 (shift 이용) - 중앙네모 : 컴포넌트의 위치 (Alt 이용) [참고] "유니티 기초 강좌", 유튜브 재생목록, 게시자 "골..

Unity 2023.04.20

Unity 물리 충돌 이벤트

이벤트성 함수는 보통 앞에 On이 들어감 CollisionEnter : 물리적 충돌이 시작할 때 호출되는 함수 CollisionExit : 충돌이 끝났을 때 CollisionStay : 충돌 중 private void OnCollisionEnter(Collision collision) *Collision : 충돌 정보 클래스 TriggerStay : 콜라이더가 충돌하고 있을 때 호출되는 함수 물리적인 충돌X , 접촉 여부 [참고] "유니티 기초 강좌", 유튜브 재생목록, 게시자 "골드메탈", https://www.youtube.com/playlist?list=PLO-mt5Iu5TeYI4dbYwWP8JqZMC9iuUIW2

Unity 2023.04.20

Unity 물체에 힘 가하기

코드 흐름은 선언 < 초기화 < 호출 RIgidBody 관련 코드는 FIxedUpdate에 작성! 컴포넌트 가져오기 T rigid; rigid = GetComponent() : 자신의 T타입 컴포넌트를 가져옴 *물체 속도 설정 velocity : 현재 이동 속도 물체에 힘을 가하기 AddForce(Vec, ForceMode.~) : Vec의 방향과 크기로 힘을 줌 ForceMode : 힘을 주는 방식 (가속, 무게 반영) 1. 연속적인 힘 : 자동차의 엑셀을 밟아서 가속을 넣듯이 가속을 추가해주는 방식 : 이미 굴러가고 있는 중에 사용하기 적합 : 무게를 적용하려면 ForceMode.Force : 무게를 무시하려면 ForceMode.Acceleration ​ 2. 순간적인 힘 : 마치 뒤에서 누가 밀듯이..

Unity 2023.04.20

Unity 물체 구성 요소

유니티는 component 기반 RigidBody : 물리효과를 받기 위한 컴포넌트 - Mass : 무게 - Use Gravity : 중력 받을지 결정 - Is Kinematic : 외부 물리효과 무시 (움직이는 함정을 만들 때 유용) Collider : 충돌 영역 Material : 오브젝트의 표면 재질을 결정하는 오브젝트 - Metalic : 금속 재질 수 - Smoothness : 빛 반사 수치 - Texture : 재질에 들어가는 이미 - Tiling : 텍스쳐 반복 타일 개수 - Emission : 텍스쳐 발광(밝기) 조절 Physics Material : 타성과 마찰을 다루는 물리적인 재질 - Bounciness : 탄성력, 높을수록 많이 튀어오름 - Bouncines Combine : 다음 ..

Unity 2023.04.19

Unity 마우스&키보드 입력 및 이동

Input : 게임 내 입력을 관리하는 클래스 - Key 는 Down, Stay, Up 으로 나뉨 .anyKey : 아무 입력을 받으면 true .GetKey (KeyCode.RightArrow) : 키보드 버튼 입력을 받으면 true, (키보드 오른쪽 화살표) .GetMouse : 마우스 버튼 입력을 받으면 true - Input Manager에서 Button 설정 가능 .GetButton : Input 버튼 입력을 받으면 true GetAxis : 수평, 수직 버튼 입력을 받으면 float Transform : 오브젝트 형태에 대한 기본 컴포넌트 오브젝트는 변수 transform을 항상 가지고 있음 .Translate : 벡터 값을 현재 위치에 더하는 함수 Vector3 moveTowards() : ..

Unity 2023.04.14

Unity 게임오브젝트 흐름

void Awake() : 게임 오브젝트 생성할 때, 최초 실행 void OnEnable() : 게임 오브젝트가 활성화 되었을 void Start() : 업데이트 시작 직전, 최초 실행 void FixedUpdate() : 물리 연산 업데이트, 고정된 실행 주기로 CPU를 많이 사용 void Update() : 게임 로직 업데이트 void LateUpdate() : 모든 업데이트 끝난 후 void OnDisable() : 게임 오브젝트가 비활성화 되었을 void OnDestroy() : 게임 오브젝트가 삭제될 때 [참고] "유니티 기초 강좌", 유튜브 재생목록, 게시자 "골드메탈", https://www.youtube.com/playlist?list=PLO-mt5Iu5TeYI4dbYwWP8JqZMC9iu..

Unity 2023.04.14

프로세스와 스레드

프로세스 컴퓨터에서 실행되고 있는 프로그램 CPU 스케줄링의 대상이 되는 작업 스레드 프로세스 내 작업의 흐름 프로그램이 메모리에 올라가면 프로세스가 되는 인스턴스화가 일어나고, 이후 운영체제의 CPU 스케줄러에 따라 CPU가 프로세스를 실행 프로세스와 컴파일 과정 프로그램은 실행 파일, 이를 실행하면 프로세스로 변환 컴파일 과정 소스코드 -> 전처리 -> 컴파일러 -> 어셈블리어 - 어셈블러 -> 목적코드 - 링커 (+라이브러리) -> 실행 파일 전처리 소스 코드의 주석을 제거하고, #include 등 헤더 파일을 병합하여 매크로를 치환 컴파일러 오류처리, 코드 최적화 작업을 하며 어셈블리어로 변환 어셈블러 어셈블리어를 목적 코드(object code)로 변환 링커 목적 코드에 라이브러리 함수 또는 다..

C# 기초

C#이란? 마이크로소프트에서 개발한 닷넷(.NET)프레임워크 기반 범용 목적의 다중 패러다임 프로그래밍 언어 닷넷 프레임워크 웹 앱, 모바일 앱, 데스크톱 프로그램, 게임 프로그램, 사물인터넷 프로그램 등을 만들기 위한 오픈소스, 크로스 플랫폼 개발 환경 C#으로 만들 수 있는 것들은? 윈도우 프로그램, 유니티 콘텐츠, 웹 애플리케이션, 사물인터넷 연동 장치, 형변환 데이터의 형식을 변경해 데이터를 담는 과정 오버플로우 데이터 형식을 변환하는 과정에서 데이터 손실이 발생하는 현상 클래스와 인스턴스 클래스 : 설계도 인스턴스 : 실체 생성자와 소멸자 class Person{ public string Name; //생성자 public Person(){ Name ="성훈"; Console.WriteLine("..

언어/C# 2023.03.29