본문 바로가기

분류 전체보기

(84)
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..
[해커랭크] Number Line Jumps 문제링크 Number Line Jumps | HackerRank Can two kangaroo meet after making the same number of jumps? www.hackerrank.com 두 마리의 캥거루가 숫자선 위에서 점프를 하며, 두 캥거루가 동일한 횟수의 점프 후 같은 위치에서 만날 수 있는지를 판단하는 문제입니다.첫 번째 캥거루는 위치 x1에서 시작하여 v1 미터 단위로 점프합니다. 두 번째 캥거루는 위치 x2에서 시작하여 v2 미터 단위로 점프합니다. 두 캥거루가 같은 위치에서 만날 수 있다면 "YES"를, 그렇지 않다면 "NO"를 반환합니다. 풀이 : function kangaroo(x1: number, v1: number, x2: number, v2: number): s..
[해커랭크] Apple and Orange 문제링크 Apple and Orange | HackerRank Find the respective numbers of apples and oranges that fall on Sam's house. www.hackerrank.com Sam의 집 주변에 사과나무와 오렌지나무가 있으며, 이 나무들에서 떨어지는 과일의 수를 계산하는 문제입니다. Sam의 집은 일정한 구간에 위치해 있으며, 사과나무와 오렌지나무는 집의 양쪽에 위치합니다. 각 과일이 나무에서 떨어질 때, 나무로부터 어느 정도 떨어진 지점에 떨어집니다. 이 거리는 양수(오른쪽으로 떨어짐) 또는 음수(왼쪽으로 떨어짐)일 수 있습니다. 주어진 정보를 바탕으로 Sam의 집(지정된 구간)에 떨어지는 사과와 오렌지의 수를 결정합니다. 풀이 : functio..
[해커랭크] Grading Students 문제링크 Grading Students | HackerRank Round student grades according to Sam's rules. www.hackerrank.com 모든 학생은 0에서 100 사이의 성적을 받습니다. 40 미만의 성적은 불합격입니다. 성적 반올림 규칙은 다음과 같습니다. - 성적과 다음 5의 배수와의 차이가 3 미만이면, 성적을 다음 5의 배수로 반올림합니다. - 성적이 40 미만이면, 반올림하지 않습니다. (불합격 성적은 그대로 유지) 풀이 : function roundToFive (num: number) : number { return num % 5 >= 3 ? Math.round(num/5) * 5 : num } function gradingStudents(grade..
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..
매직 넘버(magic number) 란 코딩에서 '매직 넘버'란 갑자기 나타나서 이해하기 어려운 숫자를 말합니다. 예를 들어, 코드에 '7'이라는 숫자가 나타났는데, 이 숫자가 왜 여기에 있는지, 무슨 의미인지 바로 알 수 없을 때, 이 '7'을 매직 넘버라고 합니다. 코딩을 할 때는 이런 매직 넘버를 사용하지 않는 것이 좋습니다. 왜냐하면, 나중에 다른 사람이나 자신이 그 코드를 볼 때, 그 숫자가 무엇을 의미하는지 쉽게 이해할 수 없기 때문입니다. 대신에, 그 숫자에 의미 있는 이름을 붙여서 사용하는 것이 좋습니다. 예를 들어, '7'이라는 숫자가 한 주일의 날짜를 의미한다면, 'DAYS_IN_WEEK'라는 이름을 붙여 사용하는 것이 더 좋습니다. 이렇게 하면 코드를 읽는 사람이 숫자의 의미를 쉽게 이해할 수 있습니다. 쉽게 설명하기 친구..