본문 바로가기

TIL

[TIL]2024-2-07 / 33일차 - 개인 공부 복습 날

 

1. 오늘의 알고리즘 코드카타 - 이상한 문자 만들기

 

답안 : 

//배열을 이용한 문제풀이를 해보자
//Split() 메소드를 사용해서 공백기준으로 나눠서 배열에 저장
//for문으로 각 배열을 불러오고 이중 for문으로 각 배열마다 문자를 한 글자 씩 검사
//각 한 글자 씩 검사하기 때문에 char형태라 Char.ToUpper / Char.ToLower 메소드 이용
using System;

public class Solution {
    public string solution(string s) {
        string answer = "";
        //공백 기준 나누기
        string[] arr = s.Split();
        
        //각 배열 호출
        for (int i = 0; i < arr.Length; i++)
        {
            //이중 for문
            for (int j = 0; j < arr[i].Length; j++)
            {
                //0은 자동 대문자
                if ( j == 0 )
                {
                    answer += Char.ToUpper(arr[i][j]);
                    //컨티뉴 안 넣으면 안돼 크아악
                    continue;
                }
                //홀수 짝수 구분
                if ( j % 2 == 0)
                {
                    answer += Char.ToUpper(arr[i][j]);
                }
                else 
                {
                    answer += Char.ToLower(arr[i][j]);
                }
            }
            //한 글자 씩 출력하기 때문에 띄어쓰기가 무시된다
            //이 부분을 for문 중에 추가해주어야 하는데,
            //문장에 마지막에 추가될 경우에는 결괏값이 달라지기에
            //마지막 전에 끊어주어야 하는 조건이 필요하다
            if (i != arr.Length-1)
                {
                    answer += " ";
                }
        }
        return answer;
    }
}

 


 

2. 오늘 공부

 

오늘은 과제를 제출하고 나면 크게 해야 될 것은 없기 때문에

과제에 치이던 일정에서 좀 쉴 겸 하여 과제 해설 영상과 특강들을 다시 보며 복습을 하는 시간을 가졌다.

 

UI관련 된 내용으로 알아둬야 할 것들이 많아보였다.

특히나 최적화와 관련되어 지금의 UI를 고봉밥처럼 쌓아두고 SetActive로 조정하는 방식이 아닌, 해설영상 등과 특강에서 다룬 UIManager를 만들고 프리펩화 된 UI를 다루는 방법을 좀 주의 깊게 봐야할 것 같다.

 

해설 영상에서 좀 다루기는 하지만 UI특강 2회 때 다룬다고 하니 주의깊게 봐야 겠다.

 

 


 

또한 아틀라스로 텍스처를 묶어 드로우 콜을 부르는 방법이 궁금했었다.

이전에 에셋을 받아 보았을 때 예전 3D max에서 텍스처를 만든 것 마냥 한 개의 이미지 안에 필요한 이미지들이 들어있어 돌려가며 쓰는 모습을 보았고 언젠가 알아야 겠다 싶었던 내용이었다.

그 부분을 UI특강에서 좀 다뤄주었기 때문에 다행이었다.

 

https://docs.unity3d.com/kr/2021.3/Manual/class-SpriteAtlas.html

 

스프라이트 아틀라스 - Unity 매뉴얼

2D 프로젝트는 스프라이트와 다른 그래픽스를 사용하여 씬의 시각적 요소를 만듭니다. 따라서 단일 프로젝트에 다수의 텍스처 파일이 들어 있을 수 있습니다. 일반적으로 Unity는 씬의 각 텍스처

docs.unity3d.com

 

메모:

using UnityEngine.U2D;

 

private SpriteAtlas atlas;

private Image image;

 

image.sprite = atlas.GetSprite(" ");

 


 

Resources 관리

 

Resources.Load("   ");

 

프로젝트를 진행해 나가면서 꼭 알아두어야 할 것.

리소스 관리를 위해서 필수적으로 사용해 나가야 할 리소스 관리.

 

이후 UI 특강 2회 때 알려준다고 하니 주의깊게 보아야 할 듯.

 


 

유니티 두트윈 - DOTween

 

UI를 만드는 데 있어서 현업에서도 많이 쓰는 에셋, 코드로도 해결 가능하지만 매우 간단하게 구현해주는 기능이 있다.

UI 움직임과 애니메이션에 특화되어 있다.

 

https://assetstore.unity.com/packages/tools/animation/dotween-hotween-v2-27676

 

DOTween (HOTween v2) | 애니메이션 도구 | Unity Asset Store

Use the DOTween (HOTween v2) tool from Demigiant on your next project. Find this & more animation tools on the Unity Asset Store.

assetstore.unity.com

 


 

아아 내일 팀 과제 발제가 너무 무섭다.