[プログラマ]イニシエータパスワード
1967 ワード
📌シーザーのパスワード
1つの暗号化方法は、1つの文の各アルファベットを一定の距離で伸ばし、別のアルファベットに変換することです.例えば、「AB」は1で「BC」、3で「DE」を表す.「z」が1に等しいと「a」になります.文字列sと距離nを入力し、sがnの暗号文の関数を生成し、ソリューションを完了します.
📌せいげんじょうけん
📌I/O例
snresult"AB"1"BC""z"1"a""a B z"4"e F d"
📌言語:JAVA
📌solution
class Solution {
public String solution(String s, int n) {
String answer = "";
for(int i=0; i<s.length(); i++) {
char alpa = s.charAt(i);
if(alpa >= 'a' && alpa <= 'z') {
if(alpa + n > 'z') {
answer += (char)(alpa + n-26);
} else {
answer += (char)(alpa + n);
}
}else if(alpa >= 'A' && alpa <= 'Z') {
if(alpa + n > 'Z') {
answer += (char)(alpa + n-26);
}else {
answer += (char)(alpa + n);
}
}
else answer += (char)alpa;
}
return answer;
}
}
😎に答える
String sをCharタイプに変換し、字ごとに分けます.次に、分離された文字がaとzの間にあることを考えてみると、alpaとnの加算値がzより大きいと、再びaの開始に戻るので、responseはalpaとnの加算値から26を減算して文字形式として表す.
alpaとnを加えた値がzより大きくない場合は、alpaとnを加えた値を文字形式に変換し、答えに入れればいいのです.
大文字も同様に行い、答えを返します.
Reference
この問題について([プログラマ]イニシエータパスワード), 我々は、より多くの情報をここで見つけました https://velog.io/@qaer07/프로그래머스-시저-암호テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol