[プログラマ]イニシエータパスワード



📌シーザーのパスワード


1つの暗号化方法は、1つの文の各アルファベットを一定の距離で伸ばし、別のアルファベットに変換することです.例えば、「AB」は1で「BC」、3で「DE」を表す.「z」が1に等しいと「a」になります.文字列sと距離nを入力し、sがnの暗号文の関数を生成し、ソリューションを完了します.

📌せいげんじょうけん

  • スペースはいくら押しても空いています.
  • sには、小文字、大文字、スペースのみが含まれます.
  • sの長さは8000未満です.
  • nは1以上25以下の自然数です.
  • 📌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を加えた値を文字形式に変換し、答えに入れればいいのです.
    大文字も同様に行い、答えを返します.