CodingSpace

코드스테이츠/코플릿 - decryptCaesarCipher 본문

코드스테이츠/코플릿

코드스테이츠/코플릿 - decryptCaesarCipher

개발자_조이킴 2022. 7. 29. 22:42

Problem. decryptCaesarCipher


Description.

암호화된 문자열과 암호화 키를 입력받아 복호화된 문자열을 리턴하는 함수를 작성하시오.
카이사르 암호(Caesar cipher)는 평문(plaintext)을 암호키 secret개만큼 (오른쪽으로) 평행이동시켜 암호화 합니다.

복호화는 암호화된 문자열을 원래의 평문으로 복원하는 것을 말합니다. 

※ 빈 문자열을 입력받은 경우, 빈 문자열을 반환

 

입력:

  • 인자1: str
    • string 타입의 알파벳 소문자 문자열
  • 인자2: secret
    • number 타입의 정수

 

출력: 

  • number 타입을 반환

My Answer. 

function decryptCaesarCipher(str, secret) {
  // abcdefghijklmnopqrstuvwxyz

  // 빈 문자열인 경우, 빈 문자열을 반환
  if(str.length === 0) return "";

  let alphabet = 'abcdefghijklmnopqrstuvwxyz';

  let answer = ""

  for(let i = 0; i < str.length; i++) {
    if(str[i] === " ")
      answer = answer + str[i]
    else {
      let index = alphabet.indexOf(str[i]);
      let newIndex = (index + alphabet.length - secret ) % alphabet.length;
      answer = answer + alphabet[newIndex]; 
    }
  }
  return answer;
}

Comments.

코드스테이츠 저작권으로 문제가 된다면 본 게시물 비공개로 처리하겠습니다!

SEB IM 34기 수료생

Comments