본문 바로가기
반응형

알고리즘8

문자열 검색

문제. 긴문자열과 짧은 문자열을 입력받고, 긴문자열 안에 짧은 문자열이 포함되어 있는 수를 반환하는 함수. // 1. 긴 문자열과 짧은 문자열을 받는 함수를 만든다. function naiveSearch(long, short){ let count = 0; // 2. 긴 문자열을 반복문으로 순회. for(let i = 0; i < long.length; i++){ // 3. 짧은 문자열을 반복문으로 순회 for(let j = 0; j < short.length; j++){ // 4. 만약 문자가 일치하지 않는다면 내부 반복문을 빠져나옵니다. if(short[j] !== long[i+j]) { break; } // 5. 만약 문자가 일치한다면 계속해서 반복문 진행 // 6. 내부 반목문을 완료하고 일치하는 .. Programming 2023. 3. 31.

재귀함수로 문자열 뒤집기

문자열을 입력받아 거꾸로 뒤집어 반환하는 함수 만들기 function reverse(str) { // 입력된 문자열이 빈 문자열인 경우 if (str === '') { return ''; } // 문자열의 첫 번째 문자와 나머지 문자열을 분리 const firstChar = str[0]; const restChars = str.slice(1); // 나머지 문자열을 거꾸로 뒤집은 결과와 첫 번째 문자를 연결하여 반환 return reverse(restChars) + firstChar; } console.log(reverse('hello') //olleh 1. function reverse(str) : 입력된 문자열을 거꾸로 뒤집어 반환하는 재귀 함수 reverse의 선언부입니다. str 매개변수는 입력된.. Programming 2023. 3. 26.

피보나치 수열

피보나치 수열은 첫 번째와 두 번째 항이 각각 0과 1이며, 그 이후의 항은 이전 두 항의 합으로 이루어지는 수열입니다. function fibonacci(n) { if (n Programming 2023. 3. 25.

재귀함수로 팩토리얼 구하기

팩토리얼이란 1부터 양의 정수 n까지의 정수를 모두 곱한 것을 말합니다. 팩토리얼의 표기법은 n! 입니다. const factorial = (num) => { let total = 1; for(let i = num; i > 1; i--) { total *= i } return total } console.log(factorial(4)) // 24 위의 코드는 반복문으로 팩토리얼을 구하는 함수 입니다. 정수 num을 입력받아 반복문으로 num 부터 1보다 클때까지 -1을 하면서 모든 숫자를 곱하여 줍니다. 반복문을 쓰지 않고 재귀함수로 팩토리얼을 구할수 있습니다. 재귀함수를 만들때는 2가지 조건을 만족해야 합니다. 종료 조건 다른 입력값(매번 다른 다른 데이터) const factorial = (num) .. Programming 2023. 3. 23.

최댓값 만들기2

문제 입출력 예 function solution(numbers) { // 입력받은 배열을 오름차순으로 정렬 let sortNumber = numbers.sort((a,b) => a-b) // 음수의 가장 작은값과 그다음 작은값의 곱 let max = sortNumber[0] * sortNumber[1]; // 양수의 가장 큰값과 그다음 큰값의 곱 let max2 = sortNumber[sortNumber.length -1] * sortNumber[sortNumber.length -2] 두개의 수를 비교하여 더 큰 수를 반환 return max > max2 ? max : max2; } 이번 문제는 음수가 포함되는 최댓값을 구하는 문제입니다. 입출력 예의 첫번째를 보면 -3과 -5가 곱해졌을때 가장 큰수 입.. Programming 2023. 3. 13.
반응형