티스토리 뷰

  • 오전
    • 운동
    • 코딩테스트
  • 오후
    •  
    • 과제 마무리작업하기

 

 

어제 너무 내 최애 목이 두번떨어지는 장면을 봐서 그런지 싱숭해서 짧게잤다

오늘 오전 운동은 빠르게 끝내고 코테도 오전안에 끝냈는데 너무 빨리 끝내서 중급단계를 도전했다

 

갑자기 모르는 단어가 나와서 당황했다

피보나치... 이해하는데 좀 시간이 걸렸다.

 

파보나치 수

문제 : https://school.programmers.co.kr/learn/courses/30/lessons/12945

 

피보나치 수는 F(0) = 0, F(1) = 1일 때, 1 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 수 입니다.

예를들어

F(2) = F(0) + F(1) = 0 + 1 = 1
F(3) = F(1) + F(2) = 1 + 1 = 2
F(4) = F(2) + F(3) = 1 + 2 = 3
F(5) = F(3) + F(4) = 2 + 3 = 5
와 같이 이어집니다.

2 이상의 n이 입력되었을 때, n번째 피보나치 수를 1234567으로 나눈 나머지를 리턴하는 함수, solution을 완성해 주세요.

 

-------------

 

 

 

F(6) = F(4) + F(5) 이므로

 

F(4)는 3이었고 F(5)는 5가 나왔으니

둘을 더해 F(6)은 8이다.

 

이 패턴을 보면

 

F(2) = F(0) + F(1) = 0 + 1 = 1
F(3) = F(1) + F(2) = 1 + 1 = 2
F(4) = F(2) + F(3) = 1 + 2 = 3
F(5) = F(3) + F(4) = 2 + 3 = 5

F(6) = F(4) + F(5) = 3 + 5 = 8

F(7) = F(5) + F(6) = 8 + 5 = 13

F(8) = F(6) + F(7) = 13 + 8 = 21

...

 

이런식으로 점점 커져가고

전에 있었던 답 2개를 더하면 된다.

 

 

궁금한 건 왜 1234567의 나머지값을 구하는가 였는데

F(100)만 되어도 354,224,848,179,261,915,075가 되기 때문이었다.

Gpt에게 물어 본건데 답하는데까지 시간이 좀 걸렸다.

 

f(50)에 대해서도 물어봤지만

 

너무 큰 수라 그런지 두번째 부턴 기술적 문제로 제한먹었다.

 

n은 > 100,000 이하인 자연수라는데. n이 100만 넘어도 int의 최댓값을 넘어가버린다. 당연히 들어갈리 없다.

나머지값을 구하는 건 너무 큰 수가 나오지 않기위한 방지용이었다.

 

 

내가 쓴 코드

public class Solution
{
    public int solution(int n)
    {
        int[] fib = new int[n+1];
        fib[0] = 0;
        fib[1] = 1;
        for (int i = 2; i <= n; i++)
        {
            fib[i] = (fib[i - 2] + fib[i - 1]) % 1234567;
        }
        return fib[n];
    }
}

 

 

 

바로인턴과제 오류고치기

와 2차 붙었다

참고로 난 요구사항 다 충족 못했다.

 

심지어 구현한 데이터 파싱도 패키지를 이용한건데

이마저도 데이터 자료형 잘못넣어서 오류난다.

 

지금 고쳐야겠다.

 

프로젝트를 유니티에 돌려보면 바로 이런 에러가 뜬다

이건 내가 Generate한 json데이터 value값이 잘못된것

 

AtackRangeMul..어쩌구는 0.5인데 자료형이 int로 되어있다.

float로 고쳐주자

 

이 외에도 문자가 들어가는데 자료형을 int로 해둔 것도 있었다.

모두 고쳐주고 리제너레이트해줬다

 

 

다 고쳐주니 Data는 뜬다 하지만 글자가 깨졌다

TextMeshPro의 디폴트 폰트는 한글을 지원해주지 않기 때문

 

한글 폰트를 다운받아서 TMP폰트 애셋을 만들어야한다.

 

 

TMP폰트 에셋 만들기

Window -> TextMeshPro -> Font Asset Creator

다음과 설정해주고

Character Sequence를 "32-126,44032-55203,12593-12643,8200-9900"을 입력 후 Genrate

 

save 버튼이 나오면 폰트에셋을 저장한다.

 

 

 

오늘 너무 어이없었던 버그..

이것가지고 30분을 씨름했다.

 

데이터도 잘 넣었고 오브젝트도 잘 연결해줬는데 계속 null오류가 떴다.

흐름을 봤는데도 데이터상에 문제가 없었다

 

하나하나씩 다시 돌려보니 뭔가 한번 더 돌고있었다.

Slot을 set해준느 오브젝트는가지는 슬롯을 가지는 박스만 가지고있어야한다.

하지만 그 외의 박스가 가지고 있어서 null에러가 떴다.

 

오류를 클릭하면 어디서 null이 뜨는지 하이라키에 잘 나와있으니

하이라키도 꼭 살펴보자..

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/03   »
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
글 보관함