codewars练习记录8 js

  • 【7 kyu】Exes and Ohs
  • 【8 kyu】Do you speak "English"?
  • 【8 kyu】Remove First and Last Character Part Two
  • 【8 kyu】Holiday VI - Shark Pontoon
  • 【7 kyu】Maximum Product
【7 kyu】Exes and Ohs

Check to see if a string has the same amount of 'x's and 'o's. The method must return a boolean and be case insensitive. The string can contain any char.

Examples input/output:

XO("ooxx") => true
XO("xooxx") => false
XO("ooxXm") => true
XO("zpzpzpp") => true // when no 'x' and 'o' is present should return true
XO("zzoo") => false

翻译:
检查一个字符串是否具有相同数量的“x”和“o”。该方法必须返回布尔值并且不区分大小写。字符串可以包含任何字符。
解一:

function XO(str) {
  var x = 0
  var o = 0
  var arr=str.toLowerCase().split('')
  for(let i=0;i<arr.length;i++){
    if(arr[i] =='x'){
      x++
    }else if(arr[i] == 'o'){
      o++
    }
  }
  return o == x 
}

解二:

function XO(str) {
  let x = str.match(/x/gi);
  let o = str.match(/o/gi);
  return (x && x.length) === (o && o.length);
}

解三:

function XO(str) {
    return str.toLowerCase().split('x').length === str.toLowerCase().split('o').length;
}
【8 kyu】Do you speak "English"?

Given a string of arbitrary length with any ascii characters. Write a function to determine whether the string contains the whole word "English".

The order of characters is important -- a string "abcEnglishdef" is correct but "abcnEglishsef" is not correct.

Upper or lower case letter does not matter -- "eNglisH" is also correct.

Return value as boolean values, true for the string to contains "English", false for it does not.
翻译:
给定任意长度的字符串和任意ascii字符。编写一个函数来确定字符串是否包含整个单词“English”。
字符的顺序很重要——字符串“abcEnglishdef”是正确的,但“abcnEnglishsef”是不正确的。
大写或小写字母并不重要——“eNglisH”也是正确的。
返回值为布尔值,true表示字符串包含“English”,false表示不包含。
解一:

function spEng(sentence) {
  return sentence.toLowerCase().indexOf("english") != -1;
}

解二:

function spEng(sentence){
   return /english/i.test(sentence)
}

解三:

function spEng(sentence){
  return sentence.toLowerCase().includes("english");
}
【8 kyu】Remove First and Last Character Part Two

This is a spin off of my first kata.

You are given a string containing a sequence of character sequences separated by commas.

Write a function which returns a new string containing the same character sequences except the first and the last ones but this time separated by spaces.

If the input string is empty or the removal of the first and last items would cause the resulting string to be empty, return an empty value (represented as a generic value NULL in the examples below).

Examples

"1,2,3" => "2"
"1,2,3,4" => "2 3"
"1,2,3,4,5" => "2 3 4"
"" => NULL
"1" => NULL
"1,2" => NULL

翻译:
您将得到一个字符串,其中包含由逗号分隔的字符序列序列。
编写一个函数,返回一个新字符串,该字符串包含除第一个和最后一个字符序列之外的相同字符序列,但这次用空格分隔。
如果输入字符串为空或删除第一项和最后一项将导致结果字符串为空,则返回一个空值(在下面的示例中表示为泛型值NULL)。
解一:

function array(arr){
  return arr.split(",").slice(1,-1).join(" ") || null;
}

解二:

function array(arr){
  arr = arr.split(',')
  arr.pop()
  arr.shift()
  return arr.join(' ') === '' ? null : arr.join(' ')
}
【8 kyu】Holiday VI - Shark Pontoon

Your friend invites you out to a cool floating pontoon around 1km off the beach. Among other things, the pontoon has a huge slide that drops you out right into the ocean, a small way from a set of stairs used to climb out.
As you plunge out of the slide into the water, you see a shark hovering in the darkness under the pontoon... Crap!
You need to work out if the shark will get to you before you can get to the pontoon. To make it easier... as you do the mental calculations in the water you either freeze when you realise you are dead, or swim when you realise you can make it!
You are given 5 variables;
sharkDistance = distance from the shark to the pontoon. The shark will eat you if it reaches you before you escape to the pontoon.
sharkSpeed = how fast it can move in metres/second.
pontoonDistance = how far you need to swim to safety in metres.
youSpeed = how fast you can swim in metres/second.
dolphin = a boolean, if true, you can half the swimming speed of the shark as the dolphin will attack it.
The pontoon, you, and the shark are all aligned in one dimension.
If you make it, return "Alive!", if not, return "Shark Bait!".
翻译:
你的朋友邀请你到离海滩约1公里的一个凉爽的漂浮浮筒。除此之外,浮筒上有一个巨大的滑梯,可以让你直接掉入大海,距离一组用来爬出来的楼梯只有一小段距离。
当你从滑梯中跳入水中时,你看到一条鲨鱼在浮筒下面的黑暗中盘旋……该死!
在你到达浮筒之前,你需要弄清楚鲨鱼是否会靠近你。为了让它更容易……当你在水中进行心理计算时,当你意识到自己死了时,你要么会冻僵,要么意识到自己能成功时游泳!
给你5个变量;
sharkDistance=鲨鱼到浮筒的距离。如果鲨鱼在你逃到浮筒之前到达你身边,它会吃掉你。
sharkSpeed=它的移动速度,单位为米/秒。
pontoonDistance=你需要游到安全的距离(米)。
youSpeed=你游泳的速度(米/秒)。
dolphin=布尔值,如果为真,则可以将鲨鱼的游泳速度减半,因为海豚会攻击它。
浮筒、你和鲨鱼都在一个维度上对齐。
如果你成功了,返回“活着!”,如果没有,返回“鲨鱼饵!”。
解:

function shark(pontoonDistance, sharkDistance, youSpeed, sharkSpeed, dolphin){
 return dolphin ? ((sharkDistance/(sharkSpeed/2) > pontoonDistance/youSpeed) ? 'Alive!' : 'Shark Bait!')
                : ((sharkDistance/sharkSpeed > pontoonDistance/youSpeed) ? 'Alive!' : 'Shark Bait!')
}
【7 kyu】Maximum Product

Task
Given an array of integers , Find the maximum product obtained from multiplying 2 adjacent numbers in the array.

Notes
Array/list size is at least 2.

Array/list numbers could be a mixture of positives, negatives also zeroes .

Input >> Output Examples
adjacentElementsProduct([1, 2, 3]); ==> return 6

翻译:
给定一个整数数组,求数组中两个相邻数相乘的最大乘积。
笔记
数组/列表大小至少为2。
数组/列表编号可以是正数、负数和零的混合。
解:

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

推荐阅读更多精彩内容