출처 : 프로그래머스
사용 언어 : JavaScript
function solution(s, n) {
var answer = '';
return answer;
}
function solution(s, n) {
let answer = [];
let alphabet;
let arr=[];
const upper = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
const lower = 'abcdefghijklmnopqrstuvwxyz';
const upLo= upper.concat(upper).split("");
const loUp= lower.concat(lower).split("");
alphabet=s.split("")
for(let i=0;i<alphabet.length;i++){
let alpha = alphabet[i];
if(alpha===" "){
arr.push(" ")
}else if(alpha===alpha.toUpperCase()){
let num1=upLo.indexOf(alpha);
arr.push(upLo[num1+n]);
}else if(alpha===alpha.toLowerCase()){
let num2=loUp.indexOf(alpha);
arr.push(loUp[num2+n]);
}
}
answer=arr.join("")
return answer;
}
function solution(s, n) {
var upper = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var lower = "abcdefghijklmnopqrstuvwxyz";
var answer= '';
for(var i =0; i <s.length; i++){
var text = s[i];
if(text == ' ') {
answer += ' ';
continue;
}
var textArr = upper.includes(text) ? upper : lower;
var index = textArr.indexOf(text)+n;
if(index >= textArr.length) index -= textArr.length;
answer += textArr[index];
}
return answer;
}
삼항연산자로 더 간단하게 풀어낼 수 있다!
✨
indexOf()
,lastIndexOf()
,findIndex()
구분!
indexOf()
- 호출한
String
객체나 배열에서 주어진 값과 일치하는 첫 번째 인덱스를 반환.- 일치하는 값이 없으면
-1
을 반환.- 매개변수에 아무 값도 주어지지 않으면 문자열
"undefined"
를 찾으려는 문자열로 사용.- 오른쪽 방향으로 순번이 매겨진다.
lastIndexOf()
- 주어진 값과 일치하는 부분을
fromIndex
로부터 역순으로 탐색하여, 최초로 마주치는 인덱스를 반환.- 일치하는 부분을 찾을 수 없으면 -1을 반환.
- 매개변수에 빈 값을 제공할 경우
fromIndex
를 반환.findIndex()
- 주어진 판별 함수를 만족하는 첫 번째 요소에 대한 인덱스를 반환.
- 만족하는 요소가 없으면 -1을 반환.
- 콜백 함수가
true
를 반환 할 때까지 배열의 모든 배열 인덱스0..length-1
(포함)에 대해 한 번씩 콜백 함수를 실행하고,
이러한 요소가 발견되면findIndex
는 해당 반복에 대한 색인을 즉시 반환.- 배열에 존재하지 않는 엔트리의 인덱스에 대해서조차 콜백이 호출됨.