1c7 / VideoList

:us: -> :cn: @糖醋陈皮 翻译的视频列表
https://weibo.com/2004104451
57 stars 11 forks source link

CodeWar 练习与答案 #45

Open 1c7 opened 9 years ago

1c7 commented 9 years ago

http://www.codewars.com/ 这是个练习站,今天发现的。 image

1c7 commented 9 years ago

第一题(Javascript)

http://www.codewars.com/kata/55147ff29cd40b43c600058b/train/javascript


1. 题目

image image


2. 题目翻译 (我翻译重点意思, 就不按照原文照翻了.)

标题: 字符连接

给定一个字符串输入,
输出第一个字符, 以及倒数第一个字符, 以及1, 拼在一起.
然后是第二个字符, 以及倒数第二个字符, 以及2, 拼在一起.


例子

charConcat("abcdef") == 'af1be2cd3'
charConcat("abc!def") == 'af1be2cd3' // same result


举例

输入 abcdef 输出就是 拿第一个字符a, 最后一个字符f,数字1, 然后第二个字符b,倒数第二个字符e,数字2 完整的输出就是 af1be2cd3


例外情况

如果字符串长度是奇数,比如abc!def,就忽略最中间那个字符。


3. 我的解决方案:

image

function charConcat(string){
    // 1. 获取字符串长度
    var string_length = string.length;
    // 2. 除以2 然后取整
    var half_number = parseInt(string_length / 2);
    // 3. result 变量用来存最后结果
    var result = '';
    for(var n = 1; n < half_number + 1; n++){

        var left = string[n-1];
        var right = string[string.length-n];
        var number = n;
        result = result + left + right + n;

    }

    return result; 
    // 收工
}

Run test: image

Submit: image

有好多人的解决方案更短,跪。

image