본문 바로가기

TIL

[TIL]2024-1-18 / 19일차 - 유니티 입문 강의 시작

 

1. 오늘 푼 알고리즘 코드카타

1-1. 하샤드 수

 

답 :

public class Solution {
    public bool solution(int x) {
        int sum = 0;
        int y = x;
        while ( y > 0)
        {
            sum += y % 10;
            y /= 10;
        }
        if (x % sum == 0)
            return true;
        return false;
    }
}

저번 배열 거꾸로 쓸 때 나머지 10 나누기 10 쓰던 방법이 생각 났다. 이번에도 활용할 수 있었다.

 

1-2 두 정수 사이의 합

 

답 : 

public class Solution {
    public long solution(int a, int b) {
        long answer = 0;

        while (a != b)
        {
            answer += a;
            a = (a > b) ? a - 1 : a + 1;
        }

        return answer + b;
    }
}

 

 

 

1-3 콜라츠 추측

 

 

답 : 

public class Solution {
    public int solution(int num) {
        long x = num;
        for (int i = 0; i <= 500; i++)
        {
            if (x == 1)
                return i;
            x = (x % 2 == 0) ? x / 2 : x * 3 + 1;
        }
        return -1;
    }
}

처음 계속 488회까지만 시행하던 문제가 발생했으나 문제를 알고 보니 점차 숫자가 길어져 int를 넘어서게 되었기 때문이다. 그래서 long으로 바꾸자 해결

 


 

오늘은 새로운 조와 새로운 팀원들과 함께 새로운 유니티 강의에 접어들었다.

이전보다 훨씬 소통에 적극적인 팀이라 처음부터 분위기가 좋았다.

이번에도 높은 수준의 코딩 경험자는 없었기 때문에 나와 팀장이 그나마 중간 수준 반을 듣고 있기에

기본 반을 듣는 나머지 둘에 비해 팀 과제에 접어들면 실질적인 구현을 하는데 노력해야할 것이다.

 

확실히 맨날 콘솔창만 보며 C#만 할 때 보다는 유니티를 만지고 있으니 훨씬 게임 만드는 기분이 들어

더 재미있는 것 같다.

 

오늘은 강의 내용이 거의 7시간이나 되고 과제할 시간이 여유롭지 않기 때문에

하루종일 강의 영상을 보며 따라한 것 밖에는 없어 한 것으로 정리하기가 마땅치 않다.

 

간단하게 강의 내용 따라하며 구현된 모습만 사진으로 남기겠다.

 

 

현재 예제에서 보여준 움직임, 충돌판정, 시점 돌리기 등이 구현된 모습 / 이후엔 공격 기능과 애니메이션, UI 구현을 해야할 것이다

 

 

오늘 강의 내용에서 튜터님이 보여준 코딩은 우리가 거칠고 지저분하게 하드 코딩하던 것들에 비해 정말 깔끔하고 세분화된 메소드화와 클래스 구분으로 제대로 필요한 것만 상속을 받으며 매우 깔끔한 코딩을 보여주었다. 그만큼 따라하기에 간단하면서도 그 구조가 직접 생각하기에는 내가 구현해야되는 그 구조를 이해를 잘 하고 있어야 하기에 많이 어려워 보였다.

 

이 깔끔한 유니티 코딩을 위해선 이 강의는 닳고 닳도록 익혀야 할 것이다. 시간이 없어 당장은 많이 못 보겠지만 최대한 제공받은 코드를 응용하며 습득해보도록 노력해야겠다.

 

내일은 강의를 끝내고 개인 과제의 기반을 만들어봐야 할 것 같다.