undefined
[프로그래머스] 시저 암호 -JS 본문
반응형
문제 설명
문제 풀이
function solution(s, n) {
const upAlphaInner = Array.from(Array(26)).map((t,i) => i + 65)
const loAlphaInner = Array.from(Array(26)).map((t,i) => i + 97)
const upAlphabet = upAlphaInner.map(t => String.fromCharCode(t))
const loAlphabet = loAlphaInner.map(t => String.fromCharCode(t))
let answer = ""
for(let i = 0; i < s.length; i++) {
let char = s[i]
if(char === " ") {
answer += " "
continue
}
let array = upAlphabet.includes(char) ? upAlphabet : loAlphabet
let index = array.indexOf(char)+n
if(index >= array.length) {
index -= array.length
}
answer += array[index]
}
return answer
}
1. UTF-16코드를 활용하여 a~z / A~Z 배열을 만듬.
2. for루프 이용하여 문자열의 문자 하나하나마다 적용
3. 공백은 아무리 밀어도 공백이라는 조건에 충족시키기위해 continue 활용
4. array와 index 정함
5. z의 경우를 해결하기 위하여 array의 길이를 넘어서면 다시 1부터 계산되도록 함
6. answer로 해당 배열의 n만큼 민 index의 값을 가져옴
개선 사항
반응형
'Coding Test' 카테고리의 다른 글
[프로그래머스] 서울에서 김서방 찾기 -JS (0) | 2022.06.06 |
---|---|
[프로그래머스] 소수 찾기 -JS (0) | 2022.06.06 |
[프로그래머스] 약수의 합 - JS (0) | 2022.06.04 |
[프로그래머스] 이상한 문자 만들기 -JS (0) | 2022.06.04 |
[프로그래머스] 행렬의 덧셈 - JS (0) | 2022.06.04 |
Comments