이번에 새롭게 구현하게 된 일은 튜토리얼이다.

튜토리얼을 해보기만 했지 만들어야 한다니 벌써 막막하다.

 

어떤식으로 해야할지 일단 공부를 해야겠다고

생각한 뒤 관련 유튜브나 블로그를 찾아보기 시작했다.

 

결과적으로 어떤 방식으로 코드를 구현 해야할지 정도는 알게 된거 같았다.

 

그리고 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)

- 장점
동적인 메모리 관리
데이터 삽입/삭제 편리함

- 단점
메모리 오버헤드 : 각 노드가 데이터와 포인터를 저장하므로 배열보다 메모리 많이 사용
순차 탐색 접근 : 배열과 달리 특정 요소에 접근하기 위해서는 리스트를 순차적으로 탐색해야함.

 

위 자료구조는 무조건 좋은가요?

각 자료구조마다 장단점이 있기 때문에 효율적으로 상황에 맞게 사용하는것이 중요하다고

생각합니다.

 

반응형