안녕하세요. 이번 문제는 프로그래머스 1단계 - 시저 암호 입니다.
이번 문제는 처음 문제를 읽었을 땐 쉽다고 생각했는데, 사소한 부분에서 막혀 곤란한 문제였습니다.
비교를 줄이기 위해 대문자로 글자를 변환하여 예외 처리를 진행했습니다.
function solution(s, n) {
return s.split("").map((str) => {
if (str === " ") {
return str;
} else {
const origin = str.toUpperCase().charCodeAt() + n;
const result = origin > 90 ? str.charCodeAt() - 26: str.charCodeAt();
return String.fromCharCode(result + n);
}
}).join("");
}
이번 문제는 풀면서 static하게 풀 것인지, 아니면 아스키코드를 활용해 풀 것인지를 고민 했는데요.
저는 이번 정답에서 아스키코드를 사용해 풀었지만, 다른 정답을 참조해보니 static하게 푼 분들도 많더라구요.
위 풀이는 정말 유쾌한 풀이인 것 같습니다.
해당 풀이는 초반에 생각했던 내용과 거의 흡사한 것 같아요. 코드를 깔끔해보이게 잘 짜주셨네요.
다음엔 성격 유형 검사 문제를 풀도록 하겠습니다.
피드백은 언제나 환영이니 부탁드립니다.
감사합니다.
'development > 알고리즘' 카테고리의 다른 글
[프로그래머스] 부족한 금액 계산하기 (0) | 2022.08.21 |
---|---|
[프로그래머스] 성격 유형 검사하기 (0) | 2022.08.21 |
[프로그래머스] 같은 숫자는 싫어 (0) | 2022.08.21 |
[프로그래머스] 없는 숫자 더하기 (0) | 2022.08.19 |
[프로그래머스] 약수의 개수와 합 (0) | 2022.08.19 |