전체 글 82

[Lv1] 최대공약수와 최소공배수

최대공약수와 최소공배수 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 최대공약수는 3, 최소공배수는 12이므로 solution(3, 12)는 [3, 12]를 반환해야 합니다. 제한 사항 두 수는 1이상 1000000이하의 자연수입니다. 입출력 예 n m return 3 12 [3, 12] 2 5 [1, 10] 입출력 예 설명 입출력 예 #1 위의 설명과 같습니다. 입출력 예 #2 자연수 2와 5의 최대공약수는 1, 최소공배수는 10이므로 [1, 10]을 리턴해야 합니다. 나의 풀이 function solution(n, m) { var GCD = (n..

프로그래밍 2021.08.09

[Js] 최대공약수(GCD) & 최소공배수(LCM) 구하기

최대공약수(GCD) 최대공약수는 두 수 a와 b의 공통된 약수 중에 가장 큰 정수이다. 최대공약수를 구하는 가장 쉬운 방법은 2부터 min(a, b)까지 모든 정수로 나누어보는 방법이다. 최대공약수가 1인 두 수를 서로소(Coprime)라고 한다. 최대공약수 구하기 See the Pen 최대공약수 by mk (@kmeijing) on CodePen. 유클리드 호제법으로 최대공약수 구하기 유클리드 호제법은 2개의 자연수의 최대공약수를 구하는 알고리즘이다. 유클리드 호제법의 기본 원리는 a를 b로 나눈 나머지를 r이라고 했을 때, GCD(a, b) = GCD(b, r)과 같다는 것이다. r이 0이라면, 그 때의 b가 최대공약수이다. See the Pen 최대공약수 - 유클리드 호제법 by mk (@kmeij..

[Lv1] 예산

예산 S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 없습니다. 그래서 최대한 많은 부서의 물품을 구매해 줄 수 있도록 하려고 합니다. 물품을 구매해 줄 때는 각 부서가 신청한 금액만큼을 모두 지원해 줘야 합니다. 예를 들어 1,000원을 신청한 부서에는 정확히 1,000원을 지원해야 하며, 1,000원보다 적은 금액을 지원해 줄 수는 없습니다. 부서별로 신청한 금액이 들어있는 배열 d와 예산 budget이 매개변수로 주어질 때, 최대 몇 개의 부서에 물품을 지원할 수 있는지 return 하도록 solution 함수를 완성해주세요. 제한사항 d는 부서별로 신청한 금액이..

프로그래밍 2021.08.09

[Js] filter() - 배열 객체 검색 & 걸러내기

filter() arr.filter(callbackFunction(element[, index[, array]])[, thisArg]); filter() 메서드는 주어진 함수의 테스트를 통과한 요소를 모아 새로운 배열로 반환합니다. 어떤 요소도 테스트를 통과하지 못했으면 빈 배열을 반환합니다. 매개변수 callbackFunction - element (요소값), index (요소의 인덱스), array (사용되는 배열 객체) thisArg - filter에서 사용될 this 값입니다. 선택적으로 사용되며 사용하지 않을 경우 undefined 전달 됩니다. 기본 사용 방법 See the Pen filter() by mk (@kmeijing) on CodePen. 배열 객체 검색하기 See the Pen f..

[Lv1] 문자열 내 마음대로 정렬하기

문자열 내 마음대로 정렬하기 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱스 1의 문자 "u", "e", "a"로 strings를 정렬합니다. 제한 조건 strings는 길이 1 이상, 50이하인 배열입니다. strings의 원소는 소문자 알파벳으로 이루어져 있습니다. strings의 원소는 길이 1 이상, 100이하인 문자열입니다. 모든 strings의 원소의 길이는 n보다 큽니다. 인덱스 1의 문자가 같은 문자열이 여럿 일 경우, 사전순으로 앞선 문자열이 앞쪽에 위치합니다. 입출력 예 strings n return ..

프로그래밍 2021.08.09

[Js] localeCompare() - 문자열과 문자열 정렬 순서 비교

localeCompare() "참조문자열".localeCompare("비교문자열"[, locales[, options]]); 참조문자열과 비교문자열의 비교하여 결과에 따른 숫자를 반환합니다. 참조문자열 이 비교문자열 보다 먼저 발생 하면 음수 비교문자열 다음에 참조문자열이 발생 하면 양수 동등하면 0을 반환합니다. 1. 사용방법 See the Pen localeCompare() by mk (@kmeijing) on CodePen. 2. 배열 정렬하기 See the Pen localeCompare() - 배열 정렬하기 by mk (@kmeijing) on CodePen. 참조 : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_O..

[Js] Object.assign()와 spread (...) - 객체 복사하기

Object.assign() Object.assign(목표객체, ...출처객체); Object.assign() 메소드는 출처 객체의 속성들을 목표 객체로 복사합니다. 수정된 목표 객체를 반환합니다. 기존 목표객체 변경 const target = { a: 'Apple', b: {name: 'Banana', color: 'yellow'}}; const source = { b: {name: 'Grape', color: 'purple'} }; const copied = Object.assign({}, target); // { a: 'Apple', b: {name: 'Banana', color: 'yellow'} } const assigned = Object.assign(target, source); // { a..

[Js] Math.random() - 랜덤숫자(난수)생성하기

Math.random() Math.random() 함수는 0 이상 1 미만의 부동소숫점 의사 난수를 반환하며, 이 값은 사용자가 원하는 범위로 변형할 수 있다. 1. 0 이상 1 미만의 난수 생성하기 function getRandom() { return Math.random(); } See the Pen Math.random() - 난수생성 by mk (@kmeijing) on CodePen. 2. 두 값 사이의 난수 생성하기 function getRandomArbitrary(min, max) { return Math.random() * (max - min) + min; } See the Pen Math.random() - 두값사이의 난수 생성 by mk (@kmeijing) on CodePen. 3. ..

[Lv1] 이상한 문자 만들기

이상한 문자 만들기 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요. 제한 사항 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다. 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다. 입출력 예 s return "try hello world" "TrY HeLlO WoRlD" 입출력 예 설명 "try hello world"는 세 단어 "try", "hello", "world"로 구성되어 있습니다. 각 단어의 짝수번째 문자를 대문자로, 홀수번째 문자를 소문자..

프로그래밍 2021.08.06

[Lv1] 하샤드 수

하샤드 수 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요. 제한 조건 x는 1 이상, 10000 이하인 정수입니다. 입출력 예 arr return 10 true 12 true 11 false 13 false 입출력 예 설명 입출력 예 #1 10의 모든 자릿수의 합은 1입니다. 10은 1로 나누어 떨어지므로 10은 하샤드 수입니다. 입출력 예 #2 12의 모든 자릿수의 합은 3입니다. 12는 3으로 나누어 떨어지므로 12는 하샤드 수입니다. 입출력 예 #3 11의 모든 자릿수의 합..

프로그래밍 2021.08.05