algorithm/문제풀이

연습문제 > 멀리 뛰기

yongfront 2024. 7. 1. 11:05
반응형
SMALL

https://school.programmers.co.kr/learn/courses/30/lessons/12914

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

1 3 5 7 식으로 증가하길래

 

 

홀수 구하는건 줄 알았더니

질문하기 살펴보니 피보나치인듯 하다

n = 1, result = 1
n = 2, result = 2
n = 3, result = 3
n = 4, result = 5
n = 5, result = 8
n = 6, result = 13
n = 7, result = 21
n = 8, result = 34

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55 의 순인데 3항부터가 문제의 답이므로

 

시간 초과 뜨니까 피보나치를 그냥 효율적으로 짜면 됨

 

??

 

 

 

저 둘의 차이가 별로 안날 거라 생각했는데

1234567로 나누라는게 괜히 있는게 아니었다

연산 자체가 커지지 않아서 더 효율적이게 됨

 

 값 자체는 결국 똑같을 텐데 

첫번째 함수는 왜 테스트케이스 7부터 통과 못하는지

자바스크립트에서의 큰 수를 다룰 때 

피보나치수열의 수를 감당못해서 발생하는 문제아닐까

9,007,199,254,740,991 까지 숫자를 감당 못하니

그 숫자가 커지기 전에 1234567로 나눠야 제대로 된 결과도 나오고 연산도 효율적으로 할 수 있는 것임

 

728x90
반응형
LIST