프로그래머스의  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 한계 때문에 생긴 조건일까?

 

 

마찬가지로 조건도 그대로 넣어버린다

 

 

 

 

+ Recent posts