Notice
Recent Posts
Recent Comments
Link
250x250
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- oracle
- 프런트엔드
- MySQL
- jsp
- 자바
- 서버
- 미니정리
- 데이터베이스
- SQL
- java
- node.js
- 스프링부트
- 디자인 패턴
- 정리
- spring
- 프론트엔드
- 스프링
- Next.js
- 자바스크립트
- jpa
- web
- 코드 테스트
- BACK-END
- 백엔드
- 코드테스트
- 프로그래머스
- 알고리즘
- JavaScript
- 오라클
- 쿼리
Archives
- Today
- Total
참치코더의 꿈 메모장
Javascript / 프로그래머스 - 피보나치 수 본문
728x90
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
function solution(n){
let a = 0;
let b = 1; for(let i=2; i <= n; i++){ let temp = (a + b) % 1234567; a = b; b = temp; } return b; }
|
cs |
- 피보나치 수에서 2 이상의 n이 입력되었을때, n번째 피보나치 수를 1234567으로 나눈 나머지를 리턴하는 함수, solution을
완성하는 문제이다.
- a는 앞자리 수 b 는 뒷자리 수라고 가정한다면, 피보나치 수열은 F(n) = F(n-1) + F(n-2) 이므로 for문으로 n값 만큼
값을 돌리면서 중간중간 계산된 값 뒷자리에 1234567로 나눈 나머지를 리턴하도록 하고 a(앞자리에는) b 값,
b에는 계산된 temp값을 대입하면 피보나치 수열의 계산으로 인해 b는 각각 피보나치 수열에 1234567로 나눈 나머지의 값이
계산되게 된다. 이렇게 반복된 b 값을 반환한다면 정답을 얻을 수 있다. ^^
* 1234567로 나누었을때 값이 나누어진다면 문제가 발생할 수 있지만... (정확한 정답을 얻을 수 없음)
문제에서 값이 100000 이하값만 n값으로 주어진다고 했으므로, 문제가 발생하지는 않는다.
728x90
'Javascript' 카테고리의 다른 글
| Javascript / 프로그래머스 - N개의 최소공배수 (0) | 2026.02.22 |
|---|---|
| Javascript / 프로그래머스 - 귤 고르기 (0) | 2026.02.19 |
| Javascript / 프로그래머스 - 구명보트(탐욕법) (0) | 2026.02.13 |
| Javascript / 비동기 정리 및 Promise, async, await 비교 (0) | 2025.10.28 |
| Javascript / 리덕스(Redux) - 개념 미니 정리 (0) | 2025.09.09 |
Comments