01/31 본캠프 #27

guno park·2024년 1월 31일
0

본캠프

목록 보기
27/77
post-custom-banner

알고리즘 풀이

N개의 최소공배수

풀이

n개의 숫자 중 가장 큰 값의 제곱보다는 최소공배수가 작다는 점을 이용해서 풀었다.
1. 먼저 정렬이 안된 경우가 있을 수 있으니 오름차순으로 정렬한다.
2. 반복문을 돌려서 숫자 a를 점점 크게하며 a를 arr의 숫자들로 나눴을 때 모든 값이 0이 되는 a를 찾는다.

using System.Linq;

public class Solution {
    public int solution(int[] arr) {
        int answer = 0;
        int length = arr.Length;
        arr =arr.OrderBy(x=>x).ToArray();
        int a=1;
        int[] arrcheck = new int[length];
        while(true){
            for (int i=0;i<length;i++){
                arrcheck[i] = a%arr[i];                
            }
            a++;
            int targetValue = 0;
            int count = arrcheck.Count(item => item == targetValue);
            if (count == length){
                answer=a-1;
                break;
            }            
        }        
        return answer;
    }
}

배열에서 특정 값이 몇개 존재하는 지 알아내기

int[] array = { 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4 };
int targetValue = 2;

int count = array.Count(item => item == targetValue);

Count에 람다식을 사용해 찾는 값만 있는 배열을 반환해 길이를 측정하는 로직인 듯 하다.

팀 프로젝트 발표 피드백 정리

  • 프로젝트의 볼륨은 계속 캠프를 진행하다보면 어떤 기능을 구현하는 데 얼마나 걸릴 지 감이 온다. 그런 부분을 고려해서 프로젝트 매니징을 해줄 필요가 있다.

  • 플로우차트를 만들어 게임의 흐름 보여주는 편이 좋다.

  • 게임을 처음 접하는 사람도 한 눈에 이해하기 쉽도록 파티클 같은 걸 사용해서 효과가 눈에 띄도록 만들자.

  • 리드미에 게임에 대한 설명을 작성하자.

  • 프로젝트를 씬 하나로 구성하게 되면 오브젝트가 많아진다.
    생성할 때 스크립트로 생성하고, 제거할 때 파괴해주는 일도 필요하다.

  • 소리가 씬별로 상이하다. 배경음악을 사용한다면 사운드 매니저를 통해 관리할 수 있도록 하자.

  • 투사체가 하늘에다 사용할 때 멀리까지 간다. 화면에서 벗어나면 바로 파괴해주는 편이 리소스 관리적 측면에서 좋다.

  • 슈퍼마리오가 3D 에셋도 공개적으로 공개되어있다. 다음 프로젝트때 후속작 어떠냐

  • 시간대가 표기됬으면 좋겠다. => 인터페이스가 좀 더 친절하면 좋다.

  • 트러블 슈팅은 시연영상 이후 순서로 바꾸면 조금 더 집중할 수 있을 것 같다.
    트러블 슈팅에 코드 사진 첨부한 것도 좋았다.

  • 리소스 폴더는 빌드할 때 합쳐지는 폴더로, 내부에는 게임에 꼭 필요한 파일만 남겨두자.

  • 맥이랑 윈도우랑 겹치면 주석이 깨진다. 통합해서 UTF-8로 설정해주자.

나중에 알아볼 조
19조 아이디어가 좋다.

기타 팁

  • 유니티에서는 구동되는데 빌드해서는 구동 안될수도 있다.

  • 우리가 현재 배우는 건 프로그래머의 작업 중 30%, 70%는 최적화다.

  • 3인칭 시점에서의 이동은 NavMesh가 최고다.
    조이스틱으로 하면 개발자는 편한데 사용자들이 꺼린다고 한다.

  • 개발자 입장에서 잘 짰다는 것 - 인수인계를 단기간에 할 수 있느냐 (그만큼 이해하기 쉽게 직관적으로 짠다)

post-custom-banner

0개의 댓글