프로그래머스의 2레벨이 시작되었다...
2레벨 초입이라 그런지, 풀이가 어느정도 가능할 것으로 보이는 문제이다.
n은 2 이상으로 주어지기 때문에 시작을 2로 잡아보았다.
이렇게 배열을 하나 만들어서 Fn-2 Fn-1 Fn 을 표현해 주었다.
first[2] 를 반환하여 정답을 만드는것
문제 그대로를 집어넣은듯한 반복문을 작성해주었다.
1회 반복될 때 마다,
first[1],first[2] => first[0] first[1] 이 되고
first[2] = first[0] +first[1] 로 갱신되는 형태
shift를 사용해서 배열의 값을 한칸 씩 땡기고 first[2] 를 다시 만들어 주는것도 같은 결과일 것이다.
shift() 의 시간복잡도는 O(n) 인데, 이 경우 항상 length =3 에서 진행되기 때문에 3의 시간 복잡도가 된다.
하지만 first[0] 과 firtst[1] 을 각각 수정하면 복잡도가 1+1 이기 때문에 n당 n회 이득이다..ㅋㅋ...
조건이 더 있었다.
Int 한계 때문에 생긴 조건일까?
마찬가지로 조건도 그대로 넣어버린다
'알고리즘 풀이' 카테고리의 다른 글
Javascript - 멀리 뛰기 [Level: 2] (1) | 2024.11.13 |
---|---|
Javascript - 예상 대진표 [Level: 2] (0) | 2024.11.06 |
Javascript - 개인정보 수집 유효기간 [Level: 1] (0) | 2024.09.26 |
Javascript - 바탕화면 정리 [Level: 1] (0) | 2024.09.20 |
Javascript - 성격 유형 검사하기 [Level: 1] (0) | 2024.09.19 |