[Algorithm Problem]イニシエータパスワード


質問する


1つの暗号化方法は、1つの文の各アルファベットを一定の距離で伸ばし、別のアルファベットに変換することです.例えば、「AB」は1で「BC」、3で「DE」を表す.「z」が1に等しいと「a」になります.文字列sと距離nを入力し、sがnの暗号文の関数を生成し、ソリューションを完了します.
せいげんじょうけん
いくら押してもスペースは空いています.
sは、小文字、大文字、スペースのみから構成されます.
sの長さは8000以下です.
nは1以上,25以下の自然数である.

コード#コード#

function solution(s, n) {
    let newStr = '';
    for (let i = 0; i < s.length; i++) {
        let newChar = s.charCodeAt(i);
        if (newChar >= 65 && newChar <= 90) {
            newChar += n;
        if (newChar > 90) newChar -= 26;
            newStr += String.fromCharCode(newChar);
        }
        else if (newChar >= 97 && newChar <= 122) {
            newChar += n;
        if (newChar > 122) newChar -= 26;
            newStr += String.fromCharCode(newChar);
        }
        else
            newStr += s[i];
    }
    return newStr;
}

に答える


条件文を指定し、大文字と小文字のASKIコード値を指定します.
nを追加すると、アルファベット数をアルファベット範囲を超えた初期値に減らして再開します.
出典:プログラマーコードテスト練習、https://programmers.co.kr/learn/challenges