codewars练习记录16 js

[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');
}
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,542评论 6 504
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,822评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,912评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,449评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,500评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,370评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,193评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,074评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,505评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,722评论 3 335
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,841评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,569评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,168评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,783评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,918评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,962评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,781评论 2 354

推荐阅读更多精彩内容