프로그래머스 | 시저 암호 javascript

leehyuna·2022년 4월 14일
0

programmers

목록 보기
5/8
post-thumbnail

👩🏻‍💻 JS coding test | 알고리즘 Level1

문제

📎
[프로그래머스 - 시저암호](https://programmers.co.kr/learn/courses/30/lessons/12926)

💻 작성코드 1

function solution(s, n) {
  const upper = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  console.log(upper.length)
  const lower = "abcdefghijklmnopqrstuvwxyz"
  const length = upper.length

  let answer = ''

  for (let i = 0; i < s.length; i++) {
    let position = upper.includes(s[i]) ? upper : lower.includes(s[i]) ? lower : null
    if (position) {
      console.log(position)
      const idx = position.indexOf(s[i]) + n
      console.log(idx)
      // n만큼 더해주게 되면 upper.length가 26을 넘어갈때가 있음 그럴 때는 idx-length
      answer += idx >= length ? position[idx - length] : position[idx]
    } else {
      answer += " "
    }
  }

  return answer;
}

💡풀이

**indexOf, includes**
알파벳의 소문자 대문자 각각 length와 index를 구한 후 for문으로 값을 구한다.

**charCodeAt, fromCharCode**
profile
seize the day ☺︎

0개의 댓글

관련 채용 정보