반응형

분류 전체보기 23

[Unity] 유니티 이벤트 함수 (Awake, Start, Update, FixedUpdate, LateUpdate 차이점)

유니티에서 C# 스크립트를 생성하면 자동으로 MonoBehavior를 상속받은 스크립트가 생성이 됩니다.이렇게 생성된 스크립트 안에는 내용이 비어있는 Start() 함수와 Update() 함수가 존재하는데 이와 같은 함수를 이벤트 함수라고 합니다. 이벤트 함수는 이외에도 Awake, FixedUpdate, OnEnable 등 다양한 함수가 존재합니다. 초기화를 위한 이벤트 함수에는 Awake와 Start가 있고, 업데이트를 위한 이벤트 함수에는 Update, FixedUpdate, LateUpdate가 있습니다. 이 함수들의 차이점에 대해서 알아보도록 하겠습니다.  Awake vs Start Awake - Start 함수보다 먼저 호출이 된다. - 씬이 시작할 때 오브젝트마다 한 번만 호출된다. - 스크..

Engine/Unity 2024.05.21

[Unity] 유니티 생명주기 (Life Cycle)

유니티에서 스크립트를 생성하고 스크립트를 열어보면 Start 함수와 Update 함수가 있는 것을 볼 수 있습니다. 이러한 함수들을 이벤트 함수라고 하며, 이벤트 함수에는 Start와 Update 말고도 여러 가지 함수가 있습니다. 유니티에서는 이런 이벤트 함수들의 실행 순서를 지정해놓았으며, 실행 순서를 생명주기라고 합니다. 스크립트의 생명주기와 각종 이벤트 함수들을 이해하고 있으면 적절한 상황에 적절한 이벤트 함수를 사용할 수 있습니다.  아래 사진은 유니티 스크립트의 생명주기를 나타낸 다이어그램입니다.스크립트의 생명주기는 크게 3단계로 나눌 수 있습니다.시작 단계 (생성 및 초기화) : Awake, OnEnable, Start업데이트 단계: FixedUpdate, Update, LateUpdate,..

Engine/Unity 2024.05.20

[백준] 9663번: N-Queen - Python

https://www.acmicpc.net/problem/9663   풀이 과정 백트래킹의 대표적인 문제입니다. 백트래킹은 DFS 또는 BFS를 사용하여 기본적으로 완전탐색을 기반으로 합니다. 다만, 해가 되지 않을 것으로 판단되는 경우에는 더 이상 탐색을 진행하지 않고 다음 탐색을 이어갑니다.  N-Queen의 문제로 예를 들자면, 첫 번째 행에 퀸을 놓았다면 더 이상 첫 번째 행에 다른 퀸들을 놓을 수 없습니다. 서로 공격 대상이 되기 때문입니다. 그렇기 때문에 첫 번째 행에 다른 퀸들을 놓을 수 있는 경우의 수는 탐색하지 않는 것입니다. 이렇게 문제의 해가 되지 않는 경우의 경우 유망하지 않다고 하며, 해가 될 가능성이 있는 경우 유망하다(Promising)고 합니다. 유망하지 않은 노드를 쳐내는 ..

Algorithm/Baek-Joon 2024.05.19

[백준] 1931번: 회의실 배정 - Python

https://www.acmicpc.net/problem/1931     풀이 과정 이 문제를 처음 봤을 때 그리디 알고리즘을 적용해서 풀어야겠다 생각했지만 문제 접근 자체가 쉽지 않았습니다. 가장 먼저 생각한 방법은 회의시간이 가장 짧은 순서대로 회의를 배정하는 방식이었습니다.그리고 bool 값을 지닌 리스트를 가장 늦게 끝나는 회의 시간의 길이만큼 False로 초기화하고, 회의시간의 숫자를 인덱스로 사용하여 True로 바꿔주는 것입니다. [3, 5]의 회의가 배정이 됐다면 [False, False, True, True, True, ...] 이런 식으로 배정된 회의와 겹치지 않게 문제를 해결하려고 했습니다만..문제에서 주어진 조건이 회의 시간의 범위는 약 21억까지입니다. 만약에 가장 늦게 끝나는 회의..

Algorithm/Baek-Joon 2024.05.08

[Unity] TMP 사용방법 / 한글 폰트 깨질 때

유니티에는 텍스트를 표현하기 위해서 Text 혹은 TextMeshPro(줄여서 TMP)를 이용할 수 있습니다. 하지만 기존의 Text는 기능이 제한적이기 때문에 저는 보통 TMP를 사용하는 편입니다. TMP를 사용하는 방법과 TMP 사용 시 한글이 깨질 때 해결방안을 알려드리도록 하겠습니다.  일단 구글 폰트에서 자신이 유니티에서 사용하고자 하는 폰트를 다운로드하여줍니다. https://fonts.google.com/?subset=korean Browse Fonts - Google FontsMaking the web more beautiful, fast, and open through great typographyfonts.google.com 저는 Noto Sans Korean 폰트를 다운로드하였습니다...

Engine/Unity 2024.05.06

[Git] Git 자주 쓰이는 명령어 정리

Git을 사용하기 위한 방법은 두 가지가 있습니다.첫 번째는 커맨드를 활용하는 방법입니다. Git은 기본적으로 CLI 환경에서 커맨드를 입력하여 파일을 Push 하거나, Commit 하거나, Clone 등을 할 수 있습니다.두 번째는 Git GUI를 활용하는 방법입니다. Git GUI를 활용하면 커맨드가 익숙하지 않은 사람들에게 UI 형식으로 Git의 명령어를 대체할 수 있도록 도와줄 수 있습니다. GUI의 종류에는 GitHub Desktop, Sourcetree, GitKraken 등이 있습니다. "GUI 쓰면 되는데 왜 굳이 터미널에서 명령어를 입력하는 방법을 배워야 돼?" 라고 생각할 수도 있습니다. 사실 반은 맞고 반은 틀립니다. GUI가 눈에 보이니까 편한 것은 사실이지만, Git의 모든 명령어..

IT/Git & GitHub 2024.05.01

[백준] 2178번: 미로 탐색 - Python

https://www.acmicpc.net/problem/2178    (1, 1) 지점에서 (N, M)의 위치로 가기 위한 최단거리를 구하는 문제입니다.  출발 지점이 주어졌고, 목표 지점이 주어졌습니다. 그래프 탐색 알고리즘을 적용해 볼 수 있겠습니다. 물론 최단경로를 찾는 문제이기 때문에 다익스트라 알고리즘과 같은 최단경로 알고리즘을 사용해도 되겠습니다.그래프 탐색 알고리즘의 종류에는 BFS와 DFS가 있는데 이 문제는 BFS를 사용해서 풀어야합니다.DFS는 최단거리를 보장해주지 못하기 때문입니다. 그에 비해 BFS는 시작지점과 도착지점의 최단거리를 보장합니다. from collections import deque# 상하좌우 방향dx = [0, 0, -1, 1]dy = [1, -1, 0, 0]def..

Algorithm/Baek-Joon 2024.04.27

[백준] 1002번: 터렛 - Python

https://www.acmicpc.net/problem/1002 1002번: 터렛 각 테스트 케이스마다 류재명이 있을 수 있는 위치의 수를 출력한다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 $-1$ 출력한다. www.acmicpc.net 풀이 과정 터렛의 위치가 (0, 0)이고 적까지의 거리가 3이라고 가정했을 때, 적이 있을 수 있는 위치는 어디일까요? (3, 0)이 될 수도 있고, (-3, 0)이 될 수도 있고, (0, 3)이 될 수도 있습니다. 즉, 원점 (0, 0)으로부터 반지름이 3인 원을 그렸을 때 원이 지나는 좌표들이 적이 있을 수 있는 위치입니다. 터렛이 둘이니까 두 원이 교차하는 지점에 적이 있을 수 있겠죠. 이 문제는 두 원의 교점의 개수를 구하는 문제입니다. 여..

Algorithm/Baek-Joon 2024.04.22

[백준] 1654번: 랜선 자르기 - Python

https://www.acmicpc.net/problem/1654 1654번: 랜선 자르기첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고, N은 1이상 1,000,000이하의 정수이다. 그리고 항상 K ≦ N 이다. 그www.acmicpc.net     풀이 과정 가지고 있는 랜선을 잘라서 N개를 만들기 위한 최댓값을 찾는 문제입니다. 가장 쉽게 생각할 수 있는 방법은 1부터 1씩 더해가면서 최댓값을 찾는 방법입니다. 하지만 랜선의 길이의 범위가 2³¹-1보다 작거나 같은 자연수입니다. 1씩 더해가면서 찾는 방법을 선택한다면 시간복잡도는 O(N)으로 최악의 경우에 2³¹-1(약 21억) 번의 검사를 수행해야 하고,..

Algorithm/Baek-Joon 2024.04.16

[백준] 1697번: 숨바꼭질 - Python

https://www.acmicpc.net/problem/1697 1697번: 숨바꼭질수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일www.acmicpc.net       풀이 과정 그래프 이론을 배운 상태이며, 이 문제를 그래프 탐색으로 풀어야겠다고 생각이 들었으면 구현 자체는 크게 어려운 문제는 아니라고 생각합니다. 그래프 탐색 알고리즘을 사용할 때 DFS를 쓸 것인지, BFS를 쓸 것인지만 결정하면 됩니다. 하지만 이 문제에서 DFS는 적합하지 않습니다. 저희는 노드를 탐색하는 것이 목표가 아니라, 시작 지점에서 도착 지점까지..

Algorithm/Baek-Joon 2024.04.15
반응형