codewars练习记录19 js

[8 kyu] Freudian translator

You probably know that number 42 is "the answer to life, the universe and everything" according to Douglas Adams' "The Hitchhiker's Guide to the Galaxy". For Freud, the answer was quite different...

In the society he lived in, people - women in particular - had to repress their sexual needs and desires. This was simply how the society was at the time. Freud then wanted to study the illnesses created by this, and so he digged to the root of their desires. This led to some of the most important psychoanalytic theories to this day, Freud being the father of psychoanalysis.

Now, basically, when a person hears about Freud, s/he hears "sex" because for Freud, everything was related to, and explained by sex.

In this kata, the function will take a string as its argument, and return a string with every word replaced by the explanation to everything, according to Freud. Note that an empty string, or no arguments, should return an empty string.
解:

function toFreud(string) {
  return string.replace(/\S+/g, 'sex');
[7 kyu] Nth Smallest Element (Array Series #4)

Task
Given an array/list of integers, find the Nth smallest element in the array.
Notes

  • Array/list size is at least 3.
  • Array/list's numbers could be a mixture of positives , negatives and zeros.
  • Repetition in array/list's numbers could occur, so don't remove duplications.

Input >> Output Examples

arr=[3,1,2] n=2 ==> return 2
arr=[15,20,7,10,4,3] n=3 ==> return 7
arr=[2,169,13,-5,0,-1] n=4 ==> return 2
arr=[2,1,3,3,1,2], n=3 ==> return 2

翻译:
给定一个数组/整数列表,找出数组中第N个最小的元素。
笔记
数组/列表大小至少为3。
数组/列表的数字可以是正数、负数和零的混合。
数组/列表的编号可能会重复,因此不要删除重复项。
解一:

function nthSmallest(arr, pos){
  for(let i=1;i<pos;i++)
    arr.splice(arr.indexOf(Math.min(...arr)),1);
  
  return Math.min(...arr);
}

解二:

function nthSmallest(arr, pos){
  return arr.sort((a,b)=>a-b)[pos-1]
}
[7 kyu] Sort Out The Men From Boys

Task
Given an array/list [] of n integers , Separate The even numbers from the odds , or Separate the men from the boys.
Input >> Output Examples:

menFromBoys ({7, 3 , 14 , 17}) ==> return ({14, 17, 7, 3})

menFromBoys ({-94, -99 , -100 , -99 , -96 , -99 }) ==> return ({-100 , -96 , -94 , -99})

翻译:
给定n个整数的数组/列表[],将偶数与奇数分开,返回一个数组/列表,其中偶数先于奇数,偶数按升序排列,奇数按降序排列
解:

function menFromBoys(arr){
 let even = Array.from(new Set(arr.filter(x => x % 2 == 0).sort((a, b) => a - b)))
  let odd = Array.from(new Set(arr.filter(x => x % 2 != 0).sort((a, b) => b - a)))
  return even.concat(odd)
}
[8 kyu] Removing Elements

Take an array and remove every second element from the array. Always keep the first element and start removing with the next element.
Example:

["Keep", "Remove", "Keep", "Remove", "Keep", ...] --> ["Keep", "Keep", "Keep", ...]

None of the arrays will be empty, so you don't have to worry about that!
翻译:
取一个数组并从数组中删除每一个元素。始终保留第一个元素,然后开始移除下一个元素。
解:

function removeEveryOther(arr){
  return arr.filter((x,index)=> index%2==0);
}
[7 kyu] Folding your way to the moon

Have you heard about the myth that if you fold a paper enough times, you can reach the moon with it? Sure you have, but exactly how many? Maybe it's time to write a program to figure it out.

You know that a piece of paper has a thickness of 0.0001m. Given distance in units of meters, calculate how many times you have to fold the paper to make the paper reach this distance.
(If you're not familiar with the concept of folding a paper: Each fold doubles its total thickness.)

Note: Of course you can't do half a fold. You should know what this means ;P

Also, if somebody is giving you a negative distance, it's clearly bogus and you should yell at them by returning null (or whatever equivalent in your language). In Shell please return None. In C and COBOL please return -1.
翻译:
你听说过这样一个神话:如果你把一张纸叠够多次,你就能用它到达月球吗?当然有,但具体有多少?也许是时候编写一个程序来解决这个问题了。
你知道一张纸的厚度是0.0001米。给定以米为单位的距离,计算您需要折叠纸张多少次才能使纸张达到该距离。
(如果你不熟悉折叠纸的概念:每次折叠都会使总厚度加倍。)
注:当然你不能做半折。你应该知道这意味着什么;
此外,如果有人给你一个负距离,这显然是假的,你应该通过返回null(或你的语言中的任何等价物)来对他们大喊大叫。在Shell中,请返回“无”。在C和COBOL中,请返回-1。
解:

function foldTo(distance) {
    if (distance < 0)
    return null
  let res = 0
  while (distance > 0.0001) {
    distance /= 2
    res++
  }
  return res
}
[7 kyu] Even numbers in an array

Given an array of numbers, return a new array of length number containing the last even numbers from the original array (in the same order). The original array will be not empty and will contain at least "number" even numbers.
For example:

([1, 2, 3, 4, 5, 6, 7, 8, 9], 3) => [4, 6, 8]
([-22, 5, 3, 11, 26, -6, -7, -8, -9, -8, 26], 2) => [-8, 26]
([6, -25, 3, 7, 5, 5, 7, -3, 23], 1) => [6]

翻译:
给定一个数字数组,返回一个新的长度数字数组,其中包含原始数组中的最后偶数(顺序相同)。原始数组将不为空,并且至少包含“number”个偶数。
解:

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

推荐阅读更多精彩内容