프로그래머스 - level1(시저암호)_자바스크립트

4107 단어 algorithmalgorithm

문제

문제풀이

  1. A~Z, a~z를 나열 후 입력에 들어갈 s값의 대소문자를 구분한다.
  2. 공백의 경우 빈 문자열로 처리하고 continue를 이용하여 과정을 생략한다.
function solution(s, n) {
  let upper = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  let lower = "abcdefghijklmnopqrstuvwxyz";
  let answer = "";
  
  for (let i = 0; i < s.length; i++) {
    let text = s[i];
    // 입력값의 공백 처리
    if (text === " ") {
      answer += " ";
      continue;
    }
    // 입력값의 대소문자 구분
    let confirmText = upper.includes(text) ? upper : lower;
    // 입력값의 문자열의 위치 확인
    let index = confirmText.indexOf(text) + n;
    // 입력값이 26을 넘어간 경우 처리
    if (index >= confirmText.length) {
      index -= confirmText.length;
    }
    answer += confirmText[index];
  }
  return answer;
}

좋은 웹페이지 즐겨찾기