[8 kyu] Name on billboard
You can print your name on a billboard ad. Find out how much it will cost you. Each character has a default price of £30, but that can be different if you are given 2 parameters instead of 1.
You can not use multiplier "*" operator.
If your name would be Jeong-Ho Aristotelis, ad would cost £600. 20 leters * 30 = 600 (Space counts as a character).
翻译:
你可以把你的名字印在广告牌上,看看要花多少钱。每个角色的默认价格为30英镑,但如果给你2个参数而不是1个参数,则价格可能会有所不同。
不能使用乘数 “ * ” 运算符。
如果你的名字是Jeong-Ho Aristotelis,广告将花费600英镑。(空格也算是一个符号)
解:
function billboard(name, price = 30){
var total = 0;
for(i=0; i<name.length; i++){
total += price;
}
return total;
}
[7 kyu] Find the nth Digit of a Number
Note
If num is negative, ignore its sign and treat it as a positive value
If nth is not positive, return -1
Keep in mind that 42 = 00042. This means that findDigit(42, 5) would return 0
Examples(num, nth --> output)
5673, 4 --> 5
129, 2 --> 2
-2825, 3 --> 8
-456, 4 --> 0
0, 20 --> 0
65, 0 --> -1
24, -8 --> -1
翻译:
完成以num和n两个数字作为输入的函数,并返回num的第n位(从右向左计数)。
解一:
var findDigit = function(num, nth){
return nth <= 0 ? -1 : Math.floor(Math.abs(num)/Math.pow(10,nth-1))%10;
}
解二:
var findDigit = function(num, nth) {
return --nth < 0?-1:+(''+Math.abs(num)).split('').reverse()[nth] || 0;
};
[7 kyu] Sum of Odd Cubed Numbers
Find the sum of the odd numbers within an array, after cubing the initial integers. The function should return undefined if any of the values aren't numbers.
翻译:
在对初始整数进行立方运算后,求数组中奇数的和。如果任何值不是数字,则函数应返回undefined。
解:
function cubeOdd(arr) {
for (let i = 0; i < arr.length; i++) {
if (isNaN(arr[i])) { return undefined }
}
return arr.filter(x => x % 2 != 0).map(x => Math.pow(x, 3)).reduce((a, b) => a + b,0)
}
[8 kyu] Who is going to pay for the wall?
Don Drumphet lives in a nice neighborhood, but one of his neighbors has started to let his house go. Don Drumphet wants to build a wall between his house and his neighbor’s, and is trying to get the neighborhood association to pay for it. He begins to solicit his neighbors to petition to get the association to build the wall. Unfortunately for Don Drumphet, he cannot read very well, has a very limited attention span, and can only remember two letters from each of his neighbors’ names. As he collects signatures, he insists that his neighbors keep truncating their names until two letters remain, and he can finally read them.
Your code will show Full name of the neighbor and the truncated version of the name as an array. If the number of the characters in name is less than or equal to two, it will return an array containing only the name as is"
翻译:
Don Drumphet住在一个不错的社区,但他的一个邻居已经开始放走他的房子。Don Drumphet想在他的房子和邻居的房子之间建一堵墙,并试图让邻里协会支付费用。他开始请求邻居请愿,要求协会修建围墙。不幸的是,唐·德鲁姆贝(Don Drumphet)读不好,注意力有限,只能记住邻居名字中的两个字母。当他收集签名时,他坚持要求邻居不断删掉他们的名字,直到剩下两个字母,他终于可以阅读了。
您的代码将以数组形式显示邻居的全名和名称的截断版本。如果名称中的字符数小于或等于2,它将返回一个仅包含名称的数组
例子:
Test.assertSimilar(whoIsPaying("Melissa"),["Melissa", "Me"]);
Test.assertSimilar(whoIsPaying("Me"),["Me"]);
Test.assertSimilar(whoIsPaying(""), [""]);
Test.assertSimilar(whoIsPaying("I"), ["I"]);
解:
function whoIsPaying(name){
return name.length > 2 ? [name, name.slice(0,2)] : [name.slice(0,2)]
}
[7 kyu] Sum of Cubes
Write a function that takes a positive integer n, sums all the cubed values from 1 to n, and returns that sum.
Assume that the input n will always be a positive integer.
Examples: (Input --> output)
2 --> 9 (sum of the cubes of 1 and 2 is 1 + 8)
3 --> 36 (sum of the cubes of 1, 2, and 3 is 1 + 8 + 27)
解一:
function sumCubes(n){
let arr = []
for (let i = 1; i < n + 1; i++) {
arr.push(Math.pow(i, 3))
}
return arr.reduce((a, b) => a + b)
}
解二:
function sumCubes(n) {
return (n * (n + 1) / 2) ** 2;
}
[8 kyu] CSV representation of array
Create a function that returns the CSV representation of a two-dimensional numeric array.
Example:
input:
[[ 0, 1, 2, 3, 4 ],
[ 10,11,12,13,14 ],
[ 20,21,22,23,24 ],
[ 30,31,32,33,34 ]]
output:
'0,1,2,3,4\n'
+'10,11,12,13,14\n'
+'20,21,22,23,24\n'
+'30,31,32,33,34'
翻译:
编写一个函数,该函数取一个正整数n,对从1到n的所有三次方值求和,并返回该和。
解:
function toCsvText(array) {
return array.join('\n');
}