일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- git autocrlf
- password 안보임
- HTTPS
- vscode
- react
- expected linebreaks to be 'crlf' but found 'lf' linebreak-style
- 참조타입
- IP주소
- CRA
- JadenCase
- LF
- input 안보임
- expected linebreaks to be 'lf' but found 'crlf' linebreak-style
- 응답코드
- 원시값
- git 개행문자
- REST API
- lazy-load
- eslint-prettier
- 프로그래머스
- 퀵정렬
- eslint
- git
- CRLF
- 가장큰수
- input type password
- 개행문자
- k번째수
- git 명령어
- prettier
Archives
- Today
- Total
우파루파의 개발 기록
[프로그래머스] 시저 암호 본문
안녕하세요. 이번 문제는 프로그래머스 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 |