[7 kyu] Power of two
Complete the function power_of_two/powerOfTwo (or equivalent, depending on your language) that determines if a given non-negative integer is a power of two. From the corresponding Wikipedia entry:
a power of two is a number of the form 2n where n is an integer, i.e. the result of exponentiation with number two as the base and integer n as the exponent.
You may assume the input is always valid.
Examples
isPowerOfTwo(1024) // -> true
isPowerOfTwo(4096) // -> true
isPowerOfTwo(333) // -> false
Beware of certain edge cases - for example, 1 is a power of 2 since 2^0 = 1 and 0 is not a power of 2.
翻译:
完成函数power_of_two/powerOfTwo(或等效函数,取决于您的语言),用于确定给定的非负整数是否为2的幂。从相应的维基百科条目:
2的幂是形式为2n的数,其中n是整数,即以数字2为基数,整数n为指数的求幂结果。
您可以假设输入始终有效。
注意某些边缘情况-例如,1是2的幂,因为2^0=1,0不是2的幂。
解一:
function isPowerOfTwo(n){
return Number.isInteger(Math.log2(n));
}
解二:
function isPowerOfTwo(n){
return (n != 0) && ((n & (n - 1)) == 0);
}
[7 kyu] Find the vowels
We want to know the index of the vowels in a given word, for example, there are two vowels in the word super (the second and fourth letters).
So given a string "super", we should return a list of [2, 4].
Some examples:
Mmmm => []
Super => [2,4]
Apple => [1,5]
YoMama -> [1,2,4,6]
NOTES
Vowels in this context refers to: a e i o u y (including upper case)
This is indexed from [1..n] (not zero indexed!)
翻译:
我们想知道给定单词中元音的索引,例如,单词super中有两个元音(第二个和第四个字母)。
因此,给定一个字符串“super”,我们应该返回一个列表[2,4]。
笔记
本文中的元音是指:a e i o u y(包括大写)
这是从[1..n]索引的(不是零索引!)
解一:
function vowelIndices(word) {
var arr = [];
for(var i = 0; i < word.length; i++) {
if(/[aeioyu]/i.test(word[i])) {
arr.push(i+1);
}
}
return arr;
}
解二:
function vowelIndices(word){
let a = []
return (word.replace(/[aeiouy]/gi,(m,i)=>(a.push(i+1),m)),a)
}
[8 kyu] Lario and Muigi Pipe Problem
Issue
Looks like some hoodlum plumber and his brother has been running around and damaging your stages again.
The pipes connecting your level's stages together need to be fixed before you receive any more complaints.
Pipes list is correct when each pipe after the first index is greater (+1) than the previous one, and that there is no duplicates.
Task
Given the a list of numbers, return a fixed list so that the values increment by 1 for each index from the minimum value up to the maximum value (both included).
Example
Input: 1,3,5,6,7,8 Output: 1,2,3,4,5,6,7,8
翻译:
看起来像是一个流氓水管工和他的兄弟一直在到处乱跑,又破坏了你的舞台。
在您收到任何投诉之前,需要先修复连接您的级别的各个阶段的管道。
如果第一个索引之后的每个管道都大于上一个索引(+1),并且没有重复项,则“管道”列表是正确的。
任务
给定一个数字列表,返回一个固定列表,以便每个索引的值从最小值到最大值(均包含)递增1。
实例
输入:1,3,5,6,7,8输出:1,2,3,4,5,6, 7,8
解一:
function pipeFix(numbers){
let arr = [];
for(let i = Math.min(...numbers); i<=Math.max(...numbers);i++){
arr.push(i);
}
return arr;
}
[7 kyu] Find the capitals
Instructions
Write a function that takes a single string (word) as argument. The function must return an ordered list containing the indexes of all capital letters in the string.
Example
Test.assertSimilar( capitals('CodEWaRs'), [0,3,4,6] );
翻译:
编写一个以单个字符串(单词)为参数的函数。函数必须返回一个有序列表,其中包含字符串中所有大写字母的索引。
解:
var capitals = function (word) {
var arr= [];
for(var i = 0; i < word.length; i++) {
if(word[i].toUpperCase() == word[i]) arr.push(i);
}
return arr;
};
[8 kyu] All Star Code Challenge #18
This Kata is intended as a small challenge for my students
All Star Code Challenge #18
Create a function that accepts 2 string arguments and returns an integer of the count of occurrences the 2nd argument is found in the first one.
If no occurrences can be found, a count of 0 should be returned.
("Hello", "o") ==> 1
("Hello", "l") ==> 2
("", "z") ==> 0
翻译:
创建一个接受2个字符串参数的函数,并返回第二个参数在第一个参数中出现的次数的整数。
如果找不到任何事件,则应返回计数0。
解一:
function strCount(str, letter){
let count = 0;
for (let i = 0; i < str.length; i++) {
if (str[i] == letter)
count++;
}
return count;
}
解二:
function strCount(str, letter){
return str.split(letter).length-1
}