이번에 새롭게 구현하게 된 일은 튜토리얼이다.
튜토리얼을 해보기만 했지 만들어야 한다니 벌써 막막하다.
어떤식으로 해야할지 일단 공부를 해야겠다고
생각한 뒤 관련 유튜브나 블로그를 찾아보기 시작했다.
결과적으로 어떤 방식으로 코드를 구현 해야할지 정도는 알게 된거 같았다.
그리고 DOTween에 있는 기능을 좀 사용해 본다면 어떨까 하는 생각에
DOTween강의도 다시보고 연습하느라 하루가 지나가버렸다.
팀원들과 같이 정한 튜토리얼의 흐름
튜토리얼 매니저.cs
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class TutorialManager : MonoBehaviour
{
public GameObject[] Tutorials;
private int _index;
private void Start()
{
_index = 0;
if (Tutorials.Length == 0) return;
foreach (var tutorial in Tutorials)
{
tutorial.SetActive(false);
}
StartTutorial(); //시작시 딜레이를 조금 주고 싶다면 인보크 사용 고민
}
private void LateUpdate()
{
if (!Tutorials[_index].activeSelf)
{
++_index;
StartTutorial();
}
}
private void StartTutorial()
{
if (_index >= Tutorials.Length) return;
Tutorials[_index].SetActive(true);
}
}
[기술면접 연습]
자료구조의 종류는 무엇이 있으며 각각 어떤 차이점이 있는지 설명해주세요
자료구조에는 배열(Array) , 연결 리스트(Linked List) 등이 있습니다.
위 자료구조의 가장 큰 차이점은 동적으로 크기 할당이 되냐 안되냐에 있습니다.
배열 같은 경우는 생성시에 지정한 크기를 지니고 있고
리스트는 추가(삽입)와 삭제가 가능해 크기를 자유롭게 늘리거나 줄이거나 할 수 있습니다.
각각 자료구조의 장단점으로는
배열(Array)
- 장점
빠른 읽기와 쓰기: 인덱스를 사용
메모리 효율성: 연속적이라 데이터 캐싱이 효율적
- 단점
고정된 크기: 크기를 변경하려면 새 배열을 만들고 데이터를 복사해야함
낭비되는 메모리 공간: 데이터의 양보다 큰 경우
복잡한 삽입/삭제
연결 리스트(Linked List)
- 장점
동적인 메모리 관리
데이터 삽입/삭제 편리함
- 단점
메모리 오버헤드 : 각 노드가 데이터와 포인터를 저장하므로 배열보다 메모리 많이 사용
순차 탐색 접근 : 배열과 달리 특정 요소에 접근하기 위해서는 리스트를 순차적으로 탐색해야함.
위 자료구조는 무조건 좋은가요?
각 자료구조마다 장단점이 있기 때문에 효율적으로 상황에 맞게 사용하는것이 중요하다고
생각합니다.
'Today I Learned' 카테고리의 다른 글
[내일배움캠프] 실전 프로젝트 - 튜토리얼 만들기 3 (1) | 2024.02.08 |
---|---|
[내일배움캠프] 실전 프로젝트 - 튜토리얼 만들기 2 (1) | 2024.02.07 |
[내일배움캠프] 실전 프로젝트 - 중간 발표를 마치며 (0) | 2024.02.05 |
[내일배움캠프] 기술면접 연습 - 스택, 힙 메모리란 (0) | 2024.02.02 |
[내일배움캠프] 실전 프로젝트 - 24.02.01 (0) | 2024.02.01 |