본문 바로가기

codes56

25_fibonacci function fibonacci(num) { //Q. 수(number)를 입력 받아 num번째까지 총 num+1개의 파보나치 수열을 리턴 //let output = fibonacci(5); //console.log(output[5]); // --> 5 //피보나치 수열 : 인접한 두 수의 합이 그 다음 수가 되는 수열 //2이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 점화식. //(n-1)+(n-2) = n //0+0=0, 0+1=1,1+1=2, 1+2=3, 2+3=5, 3+5=8 ... //result = n1 + n2 //그 다음 식에 n1 = n2 랑 n2 = result를 주고 반복문 돌리기 //8을 입력 받으면 배열 [0, 1, 1, 2, 3, 5, 8, 13, 2.. 2022. 11. 3.
24_createPhoneNumber function createPhoneNumber(arr) { //Q. 0-9 사이의 정수를 요소로 갖는 배열을 입력 받아 //전화번호 형식의 문자열 리턴 //let output = createPhoneNumber([0, 1, 0, 1, 2, 3, 4, 5, 6, 7, 8]); // --> '(010)1234-5678' //arr.join() : 배열의 모든 요소를 연결해 하나의 문자열로 만듬 //구분자를 넣으면 사용해 연결이 가능 //주의 사항에 배열의 길이가 8개인경우는 010이 있다고 가정한다고 했으니 //1.(010)은 고정 //2.1234, 5678를 가져와서 각 다른 하나의 배열에 저장 //['1234'],['5678'] //3.그 배열에 join 사용 //[[1234],[5678]] //+ 2.. 2022. 11. 3.
18_listPrimes //Q. 2 이상의 자연수를 입력받아 2부터 해당 수(num)까지의 소수들을 리턴 //출력에 할 것 //break문 사용 //이중 for문으로 작성해야 함 //첫번째 반복문 : num보다 작은 수들 순회 -> 얘네가 각각 소수인지 확인해서 문자열로 합쳐준다 //두번째 반복문 : 소수인지 아닌지 확인하는 작업 //소수의 조건 //1.1보다 커야한다 //2. 2를 제외한 짝수는 소수가 아니다(2는 소수임) //3. 3부터 자기 자신까지 반복하면서 나눠서 떨어지는 수(약수)가 하나라도 있으면 소수가 아니다. //4. 2를 제외한 모든 짝수는 소수가 아님 //ex) num = 15,'2-3-5-7-11-13' function listPrimes(num) { let result = '2'; //2를 제외한 모든 .. 2022. 10. 29.
17_isPrime * 소수란? 1과 자기 자신만으로 나누어 지는 1보다 큰 양의 정수 - 소수의 조건 1.1보다 커야한다 2. 2를 제외한 짝수는 소수가 아니다(2는 소수임) 3. 3부터 자기 자신까지 반복하면서 나눠서 떨어지는 수(약수)가 하나라도 있으면 소수가 아니다. * Math.sqrt( ) : 숫자의 제곱근 반환 let sqrt = Math.sqrt(num) num = 18; 1,2,3,6,9,18 1*18, 2*9, 3*6, 루트18=Math.sqrt(18), 6*3, 9*2, 18*1 function isPrime(num) { //Q. 1 이상의 자연수를 입력받아 소수인지 여부를 리턴 //불린 타입으로 리턴 할 것 //받은 숫자를 0부터 받은 숫자까지 증가시키면서 하나씩 대입해서 //나눠보기, 나눠지는 수가 .. 2022. 10. 29.
16_getSumOfFactors * 약수란? 정수 n을 0이 아닌 정수 d로 나누었을 때 나누어지는 경우, 즉 몫이 정수이고 나머지가 0인 경우 d를 n의 약수라고 한다 - -d도 n의 약수임 function getSumOfFactors(num) { //Q. 수를 입력 받아 약수의 합을 리턴 //let output = getSumOfFactors(8); // --> 15 8의 약수들 : (1 + 2 + 4 + 8) //받은 수를 0부터 수를 늘려가면서 나눠봄 //if문을 넣어 나머지가 없는 수는 더함 let sum = 0; for(let i = 0; i 2022. 10. 29.
15_computePower function computePower(base, exponent) { //Q. 밑(base)과 지수(exponet)를 입력 받아 밑의 거듭제곱을 리턴한다 //주의! for문 사용 //ex) 3(밑)의 4(지수) 제곱의 경우 3*3*3*3 을 출력해야 함 //밑의 숫자가 지수번 곱해지는 것 let result = 1; //1이라는 기초값이 필요한 걸 간과해서 쉽게 풀지 못함 for(let i = 0; i < exponent; i++){ //3*1=3, 3*3=9, 3*9=27, 3*27 =81 //해서 지수번 반복되는 것임 result = result * base; } return result; } //Reference code function computePower(base, exponent) { le.. 2022. 10. 29.