일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- select
- 정규표현식
- SQL
- MySQL
- Developer_JoyKim
- 재귀함수
- 개발자_조이킴
- Programmers
- 프로그래머스
- 코플릿
- JavaScript
- 최강의 인생
- 배열
- Where
- Hackerrank
- join
- 알고리즘
- 개발자의 책장
- array.push()
- node.js
- 역행자
- 코딩테스트
- 코드스테이츠
- array.slice()
- 코딩공부
- Algorithms
- array
- 블록체인
- 자바스크립트
- for문
Archives
- Today
- Total
CodingSpace
코드스테이츠/코플릿 - decryptCaesarCipher 본문
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기 수료생
'코드스테이츠 > 코플릿' 카테고리의 다른 글
코드스테이츠/코플릿 - isIsogram (0) | 2022.07.29 |
---|---|
코드스테이츠/코플릿 - modulo (0) | 2022.07.28 |
코드스테이츠/코플릿 - ABCheck (0) | 2022.07.28 |
코드스테이츠/코플릿 - powerOfTwo (0) | 2022.07.26 |
코드스테이츠/코플릿 - fibonacci (0) | 2022.07.24 |
Comments