/**
* A Fibonacci sequence is a list of numbers that begins with 0 and 1, and each
* subsequent number is the sum of the previous two.
*
* For example, the first five Fibonacci numbers are:
*
* 0 1 1 2 3
*
* If n were 4, your function should return 3; for 5, it should return 5.
*
* Write a function that accepts a number, n, and returns the nth Fibonacci
* number. Use a recursive solution to this problem; if you finish with time
* left over, implement an iterative solution.
*
* example usage:
* nthFibonacci(2); // => 1
* nthFibonacci(3); // => 2
* nthFibonacci(4); // => 3
* etc...
*
*/
var nthFibonacci = function (n) {
// TODO: implement me!
};
// BubbleSort
// 분석
// 1. 숫자로 이루어진 배열을 인풋 아웃풋 숫자로 이루어진 배열
// 2. 비교를 통해서 숫자를 작은 순서부터 큰 순서대로 재 정렬시키는 문제
// 3. for 문을 두번
// 4. 시간 복잡도는 n^2
// 수도 코드
// 1. 기준을 잡는다
// 2. for 반복문을 배열의 길이만큼
// 3. for 반복문을 배열의 길이만큼 반복
// 4. ex) 5.3.1.6.7.2.4.8
// 5. 기존의 배열을 리턴
let array1 = [5, 3, 1, 6, 7, 2, 4, 8];
function BubbleSort(array) {
let count;
for (let i = 0; i < array.length; i++) {
for (let j = 0; j < array.length; j++) {
if (array[j] > array[j + 1]) {
count = array[j];
array[j] = array[j + 1];
array[j + 1] = count;
}
}
}
return array;
}
BubbleSort(array1);
// 많이 사용되지는 않지만 원리를 이해하기에 좋은 문제인 것 같아서 선택
//
알고리즘 문제의 필요성은 무엇일까?
정확한 답을 구하는 실력?
그보다는 문제를 접했을 때 어떻게 접근하고 해결해 나가는 모습을 보여주는 것 같다
아직 몇 번의 기회가 많이 남아있기 때문에
분명히 처음 접하는 문제가 있을 것이다
문제를 해결할 수 있다면 좋겠지만
30분이라는 짧은 시간 동안 어떤 모습을 보여줄 것인가에 집중해야겠다
체크리스트에 나와있는 대로만 행동해도 충분히 좋은 모습을 보여줄 수 있지 않을까?
페어 코딩 인터뷰가 다 끝나고 나면
프로그래머스 문제를 녹화를 하면서 푸는 습관을 들여야겠다
이상 여기까지
그럼 이만