본문 바로가기
코딩테스트/LV. 1

LV. 1 :: 시저 암호

by KUROMI98 2023. 1. 29.

https://school.programmers.co.kr/learn/courses/30/lessons/12926

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

function solution(s, n) 
{
    var arr = [];
    arr = s.split(''); // ["A","B"]
    
    var upper = "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ";
    var upperarr = [];
    upperarr = upper.split(''); // ["A", "B", ... "Z"]
    
    var lower = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz";
    var lowerarr = [];
    lowerarr = lower.split(''); // ["a", "b", ... "z"]
    
    var index = 0;
    
    for (i=0; i<arr.length; i++)
    {
        if (upper.includes(arr[i])) // arr[i] 가 대문자라면
        {
            index = upperarr.indexOf(arr[i]) // arr[i] 의 index를 구한 뒤
            arr[i] =upperarr[index+n] // 대문자 배열에서 그 index+n 번째의 원소를 arr[i] 로 교체한다.
        }
        else if (lower.includes(arr[i])) // arr[i] 가 소문자라면
        {
            index = lowerarr.indexOf(arr[i]) // arr[i] 의 index를 구한 뒤
            arr[i] =lowerarr[index+n] // 소문자 배열에서 그 index+n 번째의 원소를 arr[i] 로 교체한다.
        }  
    }
    
    return arr.join('');
}

 

'코딩테스트 > LV. 1' 카테고리의 다른 글

LV. 1 :: 실패율  (0) 2023.01.30
LV. 1 :: 약수의 개수와 덧셈  (0) 2023.01.29
LV. 1 :: 로또의 최고 순위와 최저 순위  (0) 2023.01.28
LV. 1 :: 같은 숫자는 싫어  (0) 2023.01.28
LV. 1 ::숫자 문자열과 영단어  (0) 2023.01.28

댓글