240123 - 개인과제 2~4일차

유시아·2024년 1월 23일
0

개인과제

목록 보기
10/16

요약
1. 코드카타
2. 개인과제

1. 코드카타

  1. 배열의 평균값 구하기

    직관적으로 for문으로 돌려서 배열의 값을 더해준 후 합계변수를 배열의 길이로 나눠야겠다!
    라고 생각했다.
public double solution(int[] arr) {
        
        double answer = 0;
        
        for(int i=0; i < arr.Length; i++)
        {
            answer += arr[i];
        }
        answer /= arr.Length;
        return answer;
    }

근데...확장 메서드 라는 것이 있다..
그럼 메서드 호출 1줄 + 코드 1줄 이면...끝난다...

using System.Linq;

public class Solution {
    public double solution(int[] arr) {
        return arr.Average();
    }
}

이런게 있었으면 미리 알려달라고!@!@!@!!@
사실 배웠을 지도 모른다... 내가 감자라 기억 못하는 걸 수도 ...

  1. 자릿수 더하기

    자릿수.. 그니까 예를들어 123 = 100x2 + 10x2 + 3x1이니까...생각하자..
    각 자릿수들을 나눈 몫을 구해서 더해주면 되겠지?
answer = n/100+ n/10 + n/1;

근데 나는 이딴거밖에 생각이 나지 않음... 큰일임...여기서 막힘...
3자리수가 아니라 4자릿수면? 5자릿수면? 그것도 아니면 2자릿수면? 어떻게 나눌건데.
그러던 중 기가막힌 풀이를 봤다

public int solution(int n) {
        int answer = 0;
        
        while(n>0){
            answer += n % 10;
            n = n / 10;
        }
        return answer;
    }

n이 0보다 크면
answer에는 n과 10을 나눈 나머지를 저장하고, n에서는 10을 나눈 몫을 저장한다.
예를들어 n=123이면 123/10 의 나머지는 3, 123/10의 몫은 12,
그리고 또 n이 0보다 크니까 12/10의 나머지는 2, 12/10의 몫은 1,
또 n이 0보다 크니까 1/10의 나머지는 1, 1/10의 몫은 0
n이 0보다 크지 않으니까 종료.

와..........진짜 이걸 어떻게 생각해냈지......??
아니 아침이라 머리가 안돌아가서 생각을 못하는건가 내가...?
하튼 진짜 대단하다...
언젠간 나도 생각해낼 수 있을까....

또, 굳이 머리를 쓰지 않아도 되는, 최고의 함수 마스터 코드도 있다.

using System.Linq;

public class Solution {
    public int solution(int n) {
        int answer = n.ToString().AsEnumerable().Sum((c) => c ^ 48);
        return answer;
    }
}

ㅋㅋ
모르니까 패스.

2. 개인과제

일단....망했습니다... 여러 악재가 겹쳐서 도저히 집중이 되지가 않았고...이건 핑계긴 해
구현한거라도 일단... 적어야지....

  • 에셋 오류
    좀 예쁜 에셋으로 써보려 했는데 MyAsset을 불러올 수가,,,없다,,,,

    급한대로 기본 에셋 다운받은걸로 해결했다.

  • 맵 구성

    대충 이정도 넓이의 맵
    타일맵 찍다가 벽타일이 겹쳐서 좀 화날때도 있었다...

  • 마우스 커서가 가리키는 대로 바라보기

아니 왜 커서가 안보이지...? 하여튼 열심히 바라보고있다...
코드는 PlayerLook.cs

transform의 scale값 변경해주는 방식.
세상엔 정말... 천재들이 많은 것 같다..

...여기까지가 구현....
분량이 정말 짧은걸 알지만 그래도 TIL은 적어야 하니까...

빠른 시일 내로 일 해결하고 집중해보겠다....

profile
패션컴공탈출기

0개의 댓글