외과의사 머쓱이는 응급실에 온 환자의 응급도를 기준으로 진료 순서를 정하려고 합니다. 정수 배열 emergency가 매개변수로 주어질 때 응급도가 높은 순서대로 진료 순서를 정한 배열을 return하도록 solution 함수를 완성해주세요.
emergency result [3, 76, 24] [3, 1, 2] [1, 2, 3, 4, 5, 6, 7] [7, 6, 5, 4, 3, 2, 1] [30, 10, 23, 6, 100] [2, 4, 3, 5, 1]
function solution(emergency) {
let realAnswer = [];
const answer = [...emergency];
let a = emergency.sort((a, b) => b - a); //주어진 배열을 내림차순 정렬하면 응급도가 높은순이 첫번째에 위치한다.
for (let i = 0; i < answer.length; i++) {
for (let j = 0; j < a.length; j++) {
if (answer[i] == a[j]) { //기존 배열과 응급도순으로 된 배열을 비교하여 같은 값일 때 해당 인덱스값에 1을 더해주고, 빈 배열에 넣어주면 응급도 순번이 매겨진다.
realAnswer.push( j + 1 );
}
}
}
return realAnswer;
}
function solution(emergency) {
function solution(emergency) {
const answer = [...emergency];
let a = emergency.sort((a, b) => b - a);
return answer.map((x)=> a.indexOf(x)+1);
}
문자열 my_string이 매개변수로 주어집니다. my_string은 소문자, 대문자, 자연수로만 구성되어있습니다. my_string안의 자연수들의 합을 return하도록 solution 함수를 완성해주세요.
my_string result "aAb1B2cC34oOp" 37 "1a2b3c4d123Z" 133
function solution(my_string) {
let a= my_string.match(/\d+/g); //1개 이상의 연속된 숫자를 배열로 찾아온다.
if ( a == null) {
return 0; //숫자가 없을경우 null값이 된다.
} else {
return a.map( x => Number(x)).reduce( ( a, b) => a+b, 0); //배열의 안의 숫자를 숫자화 시켜주고 reduce로 누산한다.
}
}
이진수를 의미하는 두 개의 문자열 bin1과 bin2가 매개변수로 주어질 때, 두 이진수의 합을 return하도록 solution 함수를 완성해주세요.
bin1 bin2 result "10" "11" "101" "1001" "1111" "11000"
function solution(bin1, bin2) {
return (parseInt(bin1,2)+parseInt(bin2,2)).toString(2);
}
소인수분해란 어떤 수를 소수들의 곱으로 표현하는 것입니다. 예를 들어 12를 소인수 분해하면 2 2 3 으로 나타낼 수 있습니다. 따라서 12의 소인수는 2와 3입니다. 자연수 n이 매개변수로 주어질 때 n의 소인수를 오름차순으로 담은 배열을 return하도록 solution 함수를 완성해주세요.
n result 12 [2, 3] 17 [17] 420 [2, 3, 5, 7]
function solution(n) {
let a = []
let answer = [];
for (let i = 1; i <= n; i++) {
if ( n%i == 0) {
a.push(i); //n과i의 나머지가 0일 때 i는 n의 약수
}
}
for (let i = 0; i < a.length; i++) {
if( isPrime(a[i]) == true) {
answer.push(a[i]); //소수들을 찾아서 배열에 넣고 반환
}
}
return answer;
}
function isPrime (k) {
for (let i = 2; i < k; i++) {
if ( k%i === 0) {
return false;
}
}
return k >1 ;
}