Notice
Recent Posts
Recent Comments
Link
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

동구의_C# & Unity_개발일지

2024.03.07 내일배움캠프 50일차 TIL_Unity (최종 프로젝트, 알고리즘, 기술 면접) 본문

최종 프로젝트

2024.03.07 내일배움캠프 50일차 TIL_Unity (최종 프로젝트, 알고리즘, 기술 면접)

mongle_0l 2024. 3. 6. 21:17

알고리즘 코드카타 34일차

3진법 뒤집기

문제 설명
자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.
using System;

public class Solution {
    public int solution(int n) {
    int answer = 0;
    while(n > 0) {
        answer *= 3;
        answer += n % 3;
        n /= 3;
    }
    return answer;
    }
}


기술면접 연습하기 2일차

'ref'와 'out'의 사용 시 차이는 무엇인가요?
1. ref는 호출된 메서드에서 변수의 값을 변경하고 호출자에게 그 변경을 반영하고자 할 때 사용되며, out은 호출된 메서드가 값을 반환하지 않고 추가적인 결과나 정보를 반환할 때 사용된다.

2. out을 사용한 함수는 함수 바깥에 있는 변수에 값을 할당 할 필요가 없는데, ref을 사용한 함수의 경우 함수 바깥에서 값을 할당하지 않으면 안된다.

ref을 이용한 함수 vs out을 이용한 함수

보통 함수와 ref, out 비교

# 보통 함수
int num = 5;

static void ChangeNum(int a)
{
    a = 10;
}

ChangeNum(num);
Console.WriteLine(num);

# output: 5
최초 정의한  num = 5 값이 ChangeNum함수를 거쳤음에도 불구하고 최종 num값은 변화가 없다.
왜나하면 함수 바깥 scope와 함수내 scope가 엄연히 다른 공간으로 인식 하기 때문이다.
# ref을 이용한 함수
int num = 5;

static void ChangeNum(ref int a)
{
    a = 10;
}

ChangeNum(ref num);
Console.WriteLine(num);

# output: 10
결과을 보면 함수 내에서 최초로 정의한 num 값이 변경 된 것을 알 수 있다.
ref를 사용하면 기존에 분리되어 있었던 scope가 하나로 연결이 되었기 때문이다.
# out을 이용한 함수
int num = 5;

static void ChangeNum(out int a)
{
    a = 10;
}

ChangeNum(out num);
Console.WriteLine(num);

# output: 10
out을 이용한 함수도 마찬가지고 ref와 결과값이 같다.

이유가 뭘까??

ref함수는 아래와 같이 인자를 함수로 넘겨주는 현태인 반면,

out함수는 아래와 같이 함수내에서 정의한 값을 바깥으로 넘겨주는 형태이다.

즉 방향이 반대인것!


트러블 슈팅

팀과 협업을 하기 위해 깃 허브로 프로젝트 파일을 만들려고 하는데 프로젝트 파일이 적용이 안되는 일이 있었다.

원래는 프로젝트 파일을 만들고 나서 GitHub Desktop에 들어가 Create new repository을 눌러 프로젝트 파일 이름과 똑같이 만들어 Local path에 저장을 하면 깃에 프로젝트 파일이 바로 적용이 되었었는데

이번에 만들었던 방식은 순서가 바뀌어서 헷갈려 생긴 문제였다..

팀원들을 초대하기 위해 깃 허브에서 바로 Create a new repository 하여 Add .gitignore을 Unity로 설정하고 Create repository을 하였고 아무 생각없이 전에 하던 방식처럼  GitHub Desktop에 들어가 Create new repository을 해버린 것이다...ㅠ 그러니깐 안되지 ㅜ

 

해결 방법

깃에 바로 repository을 만들었으면 프로젝트를 다른 경로에 생성하여 깃 폴더 안에 프로젝트 파일을 넣어주면 된다!

왼쪽 프로젝트 파일들을 오른쪽  깃 허브에서 만든 repository 파일로 옮겨준다.

 

정상적으로 깃에 프로젝트 파일이 올라갔다.

 

어떻게 보면 당연히 안되는 건데 처음부터 깃 허브에 바로 만든 적이 없어 순간 당황하여 생긴 일같다..

시간이 조금 오래걸려 팀원들에게 미안한 하루였다..

 

(무지하다 무지해...;;;)