본문 바로가기

Programming

(19)
JS 배열 다루기: 원본을 변경하는 메서드 (Destructive) 원본 배열을 변경하는 메서드들 push() 배열의 끝에 하나 이상의 요소를 추가하고, 변경된 배열의 길이를 반환합니다. const fruits = ['apple', 'banana']; fruits.push('orange'); // ['apple', 'banana', 'orange'] pop() 배열의 마지막 요소를 제거하고, 그 요소를 반환합니다. const fruits = ['apple', 'banana', 'orange']; const lastFruit = fruits.pop(); // 'orange', fruits = ['apple', 'banana'] shift() 배열의 첫 번째 요소를 제거하고, 그 요소를 반환합니다. const fruits = ['apple', 'banana']; const ..
JS 최대 공배수, 최대 공약수 구하기 최대 공약수 (GCD) 최대 공약수는 두 수 또는 그 이상의 정수의 공통된 약수 중 가장 큰 수입니다. 유클리드 알고리즘을 사용하여 구할 수 있습니다. function gcd(a, b) { while (b !== 0) { let t = b; b = a % b; a = t; } return a; } console.log(gcd(48, 18)); // 6 유클리드 알고리즘은 두 자연수의 최대공약수(Greatest Common Divisor, GCD)를 찾는 알고리즘입니다. 이 알고리즘은 고대 그리스 수학자 유클리드가 제시한 것으로, "원론"이라는 책에서 처음 소개되었습니다. 유클리드 알고리즘은 효율적이며, 두 수의 크기에 상관없이 빠르게 최대공약수를 계산할 수 있습니다. 최소 공배수 (LCM) 최소 공배수는..
JS localeCompare 활용한 문자 정렬하기 문자열을 길이 뿐만아니라 길이가 같을 경우 알파벳 순서를 고려하여 정렬합니다. function bigSorting(unsorted: string[]): string[] { return unsorted.sort((a, b) => { if (a.length === b.length) { return a.localeCompare(b); } return a.length - b.length; }); } 먼저, 각 문자열의 길이를 비교합니다. 길이가 짧은 문자열이 더 긴 문자열보다 먼저 오도록 정렬합니다.만약 두 문자열의 길이가 같다면, localeCompare 함수를 사용하여 문자열을 사전 순으로 비교합니다. 이는 문자열이 알파벳 순서대로 정렬되도록 합니다. 예를 들어, ["3", "111", "22", "1"] ..
JS 문자열 특정 부분 제거하기 // 원본 문자열 let originalString = "This is a sample string."; // "sample" 문자열을 제거하고 나머지 문자열을 결합, 반환된 배열은 ["This is a ", " string."] let removedString = originalString.split("sample").join(""); // 결과 출력 console.log(removedString); // "This is a string." - originalString 변수에 "This is a sample string." 문자열을 저장합니다. - split("sample") 메서드를 사용하여 "sample" 문자열을 기준으로 원본 문자열을 나눕니다. - join("") 메서드로 배열의 요소들을 빈 ..
JS 문자열을 배열로 변환하기 split 메서드 사용: 가장 기본적인 방법으로, 문자열을 지정된 구분자로 나누어 배열로 변환합니다. let str = "Hello World"; let arr = str.split(" "); // ["Hello", "World"] 스프레드 연산자 (...) 사용: ES6에서 도입된 스프레드 연산자를 사용하여 문자열의 각 문자를 배열의 요소로 변환할 수 있습니다. let str = "Hello"; let arr = [...str]; // ["H", "e", "l", "l", "o"] Array.from 메서드 사용: Array.from 메서드를 사용하여 문자열을 배열로 변환할 수 있습니다. 이 방법은 스프레드 연산자와 유사한 결과를 제공합니다 let str = "Hello"; let arr = Array..
JS 특정 단위에 맞춰 반올림하기 아래 함수는 numberToRound를 multiple로 나눈 후 그 결과를 Math.round 함수를 사용하여 반올림합니다. 그리고 나서 반올림된 결과를 다시 multiple로 곱하여 최종 결과를 계산합니다. function roundToNearestMultiple (numberToRound: number, multiple: number) : number { return Math.round(numberToRound/multiple) * multiple } 예제 코드 : const number1 = 17; const unit1 = 10; const result1 = roundToNearestMultiple(number1, unit1); // 결과: 20 const number2 = 35; const un..
JS 배열에서 Math.max 메서드로 최대값 찾기 기본 사용법 const max = Math.max(4, 1, 8, 7); console.log(max); // 출력: 8 ES6의 스프레드 연산자 활용 const arr = [1, 2, 3]; const max = Math.max(...arr); apply 메서드 활용 function getMaxOfArray(numArray) { return Math.max.apply(null, numArray); } 단, 스프레드 연산자와 apply()는 배열에 요소가 너무 많으면 잘못된 결과를 반환할 수 있습니다. 이는 배열이 함수의 매개변수로 전달되기 때문입니다. reduce()를 사용하는 방법은 이러한 문제가 발생하지 않습니다. reduce 메서드 활용 const arr = [1, 2, 3]; const max ..
JS repeat 메서드 JavaScript의 String.prototype.repeat() 메서드는 주어진 횟수만큼 문자열을 반복하여 새로운 문자열을 생성하는 기능을 제공합니다. 이 메서드는 문자열 조작에서 유용하게 사용될 수 있으며, 특히 패턴이나 특정 문자의 반복이 필요할 때 매우 편리합니다. str.repeat(count); "abc".repeat(-1); // RangeError "abc".repeat(0); // '' (빈 문자열 반환) "abc".repeat(1); // 'abc' "abc".repeat(2); // 'abcabc' "abc".repeat(3.5); // 'abcabcabc' (소수점 이하는 정수로 변환) "abc".repeat(1 / 0); // RangeError str: 반복할 문자열입니다. c..