プログラマ[レベル1]起動パスワード
7403 ワード
質問する
1つの暗号化方法は、1つの文の各アルファベットを一定の距離で伸ばし、別のアルファベットに変換することです.例えば、「AB」は1で「BC」、3で「DE」を表す.「z」が1に等しいと「a」になります.文字列sと距離nを入力し、sがnの暗号文の関数を生成し、ソリューションを完了します.
せいげんじょうけん
I/O例
に答える
function solution(str, n) {
const upper = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
const lower = 'abcdefghijklmnopqrstuvwxyz';
let answer = '';
for(let s of str){
if(s ===" "){
answer += " ";
continue;
}
const upperOrLower = upper.includes(s) ? upper : lower;
let index = upperOrLower.indexOf(s) + n;
if(index >= upperOrLower.length){
index -= upperOrLower.length;
}
answer += upperOrLower[index];
}
return answer;
}
私が試した方法は間違っていた.charcodeatを使わない良い方法upperOrLower変数にはupperまたはlower(上の文字列)が含まれており、その解題方法は非常に斬新です.覚えておきましょう.
オリジナルコード
function solution(str, n) {
let arr = str.split("")
let answer = '';
for(let s of arr){
if(s ===" "){
answer += " ";
continue;
}
if(s.toUpperCase().charCodeAt() >= 90){
answer += String.fromCharCode(s.charCodeAt() + n -26)
} else {
answer += String.fromCharCode(s.charCodeAt() + n)
}
}
return answer;
}
テストの結果はすべて正しいですが、提出してから採点しにくいです.原因はまだ見つかっていない.Reference
この問題について(プログラマ[レベル1]起動パスワード), 我々は、より多くの情報をここで見つけました https://velog.io/@bkdragon0228/프로그래머스Level-1-시저-암호テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol