devlog_owen
[프로그래머스] 시저 암호 본문
문제
대문자, 소문자 따로 진행해야함
나의 풀이
function solution(s, n) {
let upper = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
let lower = "abcdefghijklmnopqrstuvwxyz";
let answer= '';
for(let i =0; i <s.length; i++){
let text = s[i];
if(text == ' ') {
answer += ' ';
continue;
}
let textArr = upper.includes(text) ? upper : lower;
let index = textArr.indexOf(text)+n;
answer += textArr[index];
}
return answer;
}
1. upper,lower 변수: 대문자,소문자 알파벳 나타내는 문자열
let upper = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
let lower = "abcdefghijklmnopqrstuvwxyz";
2. 문자열 s를 문자 단위로 반복하여 처리
for(let i =0; i <s.length; i++){ //
3. 현재 문자를 text 변수에 저장, 공백 문자면 그대로 두고 answer에 추가, continue로 다음으로 넘어감
let text = s[i];
if(text == ' ') {
answer += ' ';
continue;
}
4. 현재 문자가 대문자인지 소문자인지 확인, 변수에 맞는 알파벳 문자열(upper 또는 lower)을 할당
let textArr = upper.includes(text) ? upper : lower; //
let index = textArr.indexOf(text)+n; //textArr
5.n 만큼 이동하고 결과가 알파벳 문자열 길이를 넘어가면 순환시킴, 암호화된 문자를 answer에 추가
if(index >= textArr.length) index -= textArr.length;
answer += textArr[index];
}
return answer;
}
다른 사람 풀이
본문1
회고
본문1
'algorithm > (js)프로그래머스' 카테고리의 다른 글
[프로그래머스] 서울에서 김서방 찾기 (0) | 2023.11.07 |
---|---|
[프로그래머스] 숫자 문자열과 영단어 (0) | 2023.11.07 |
[프로그래머스] 두 정수 사이의 합 (0) | 2023.11.06 |
[프로그래머스] 콜라츠 추측 (0) | 2023.11.06 |
[프로그래머스] 크기가 작은 부분문자열 (0) | 2023.11.06 |