min
프로그래머스 시저암호 자바스크립트 본문
<문제>
https://school.programmers.co.kr/learn/courses/30/lessons/12926
<나의 풀이>
function solution(s, n) {
var chars =
"abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXY";
return s
.split("")
.map((e) => {return (e===" ") ? " " : chars[chars.indexOf(e) + n]})
.join("");
}
<다른사람의 풀이>
function caesar(s, n) {
var result = "";
var car = ""
for (var i=0; i<s.length;i++) {
if ( s[i] == ' ' ) result += ' '
else result += String.fromCharCode( (s.charCodeAt(i)>90)? (s.charCodeAt(i)+n-97)%26+97 : (s.charCodeAt(i)+n-65)%26+65 ) }
return result;
}
어차피 숫자는 26개이기에 이로 나눠준 나머지는 0~25이기에 결국은 "A~Z"까지를 의미한다.
따라서 "A~Z"까지 순회하는 숫자로 만들 수 있다.
이 코드는 정말 좋은 코드인 것 같다.
내가 쓴 코드와는 다르게 일반화한 풀이 이기에 어느 때든 다 적용될 수 있을 것 같다.
'알고리즘' 카테고리의 다른 글
프로그래머스 숫자 문자열과 영단어 (1) | 2023.06.19 |
---|---|
프로그래머스 모의고사 자바스크립트 (0) | 2023.06.19 |
프로그래머스 자릿수 더하기 자바스크립트 (0) | 2023.06.18 |
프로그래머스 이상한 문자 만들기 자바스크립트 (0) | 2023.06.17 |
프로그래머스 완주하지 못한 선수 자바스크립트 (0) | 2023.06.17 |