[알고리즘 문제] 시저 암호

2022. 11. 23. 21:24·알고리즘

 

 

내가 푼 정답

function solution(s, n) {
  var answer = "";
  let order = [
    "a",
    "b",
    "c",
    "d",
    "e",
    "f",
    "g",
    "h",
    "i",
    "j",
    "k",
    "l",
    "m",
    "n",
    "o",
    "p",
    "q",
    "r",
    "s",
    "t",
    "u",
    "v",
    "w",
    "x",
    "y",
    "z",
  ];
  s = s.split("");

  for (i = 0; i < s.length; i++) {
    if (s[i] !== " ") {
      if (s[i] === s[i].toLowerCase()) {
        s[i] =
          order[
            order.indexOf(s[i]) + n > 25
              ? order.indexOf(s[i]) + n - 26
              : order.indexOf(s[i]) + n
          ];
      } else {
        s[i] =
          order[
            order.indexOf(s[i].toLowerCase()) + n > 25
              ? order.indexOf(s[i].toLowerCase()) + n - 26
              : order.indexOf(s[i].toLowerCase()) + n
          ].toUpperCase();
      }
    }
  }
  return s.join("");
}

prettier떄문에 배열이 길쭉해졌다ㅋㅋㅋㅋ 아무튼 알파벳 순서가 담긴 배열을 활용하여 n칸씩 인덱스를 미는 식으로 알고리즘을 짜보았다.

'알고리즘' 카테고리의 다른 글

[코딩테스트] 알고리즘 문제풀이 전략  (0) 2025.02.25
[알고리즘 문제] 하샤드 수  (1) 2022.11.23
[알고리즘 문제] 신규 아이디 추천  (0) 2022.11.23
[알고리즘 문제] 소수 만들기  (0) 2022.11.23
[알고리즘 문제] 문자열 내림차순으로 배치하기  (0) 2022.11.23
'알고리즘' 카테고리의 다른 글
  • [코딩테스트] 알고리즘 문제풀이 전략
  • [알고리즘 문제] 하샤드 수
  • [알고리즘 문제] 신규 아이디 추천
  • [알고리즘 문제] 소수 만들기
youjeong_choi
youjeong_choi
  • youjeong_choi
    youjeong
    youjeong_choi
  • 전체
    오늘
    어제
    • 분류 전체보기 (100)
      • HTML, CSS (7)
      • JavaScript (19)
        • 모던 자바스크립트 딥다이브 (4)
      • ReactJS (16)
      • TIL (15)
      • WIL (17)
      • 알고리즘 (17)
      • 네트워크 (5)
      • Vue (4)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    무한렌더링
    리액트
    항해99 실전프로젝트
    알고리즘 문제
    선언적 함수
    알고리즘
    리액트 라우트
    항해99
    파이썬
    항해99리액트
    피니아
    항해99주특기
    모던자바스크립트딥다이브
    항해99리액트숙련주차
    익명 함수
    혼공스
    자바스크립트
    항해99 주특기
    항해99주특기리액트
    리액트 라이프 사이클
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
youjeong_choi
[알고리즘 문제] 시저 암호
상단으로

티스토리툴바