프로그래머스 - 시저 암호 ( JavaScript )

changi123·2025년 2월 9일
0
post-thumbnail

https://school.programmers.co.kr/learn/courses/30/lessons/12926?language=javascript

풀이

  • 처음 보는 메소드들 정리
  • String.fromCharCode(i) -> 숫자에 해당하는 아스키코드값을 문자열로 추출
  • char.charCodeAt(i) -> 숫자에 해당하는 아스키코드값을 문자로 추출
    -> 여기서 궁금했던게 왜 문자로 추출 후 다시 문자열로 추출하냐였다 .. 근데 이게 자바에서는
    (char) 숫자+숫자 이런식으로 해도 형변환으로 바로 추출할 수 있지만 자바스크립트는 이런 형변환이 존재하지않는다. 해서 두 번의 과정을 거쳐 문자열로 변환해서 문자열을 이었다.
    -> 결국 문제는 대문자라면 총 개수인 26을 활용해서 10진수 아스키코드값을 구하고 그걸 문자로 변환해서 문자열을 잇는 것 자바스크립트 메소드 기억하자 😎
function solution(s, n) {
 let answer = "";
    
    for (let i = 0; i < s.length; i++) {
        let char = s[i];

        if (char >= 'A' && char <= 'Z') {

            let newChar = String.fromCharCode(((char.charCodeAt(0) - 65 + n) % 26) + 65);
            answer += newChar;
        } else if (char >= 'a' && char <= 'z') {
   
            let newChar = String.fromCharCode(((char.charCodeAt(0) - 97 + n) % 26) + 97);
            answer += newChar;
        } else {
            answer += char;
        }
    }

    return answer;
}

profile
개발자 홍찬기 꾸준한 사람이 되자

0개의 댓글

관련 채용 정보