min
프로그래머스 둘만의 암호 자바스크립트 본문
<문제>
https://school.programmers.co.kr/learn/courses/30/lessons/155652#
<나의 풀이>
//s의 길이만큼 반복하면서 다음 과정을 수행한다.
//index의 길이만큼 반복하면서 다음 과정을 수행한다.
//만약 skip에 해당 단어가 있다면 index를 올리지 않는다.
//만약 skip에 해당 단어가 없다면 index를 올린다.
//index만큼 뒤에 있는 알파벳을 answer에 더한다.
//answer를 리턴한다.
function solution(s, skip, index) {
var answer = '';
let alpha = "abcdefghijklmnopqrstuvwxyz";
for(let i = 0; i < s.length; i++) {
let j = 0;
let k = alpha.indexOf(s[i])
while (j < index) {
if(!skip.includes(alpha[(k+1) % 26])) {
j++;
}
k += 1;
}
k = k % 26
answer += alpha[k]
}
return answer;
}
<다른 사람의 풀이>
function solution(s, skip, index) {
const alphabet = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j",
"k", "l", "m", "n", "o", "p", "q", "r", "s", "t",
"u", "v", "w", "x", "y", "z"].filter(c => !skip.includes(c));
return s.split("").map(c => alphabet[(alphabet.indexOf(c) + index) % alphabet.length]).join("");
}
<참고 자료>
filter
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/filter
'알고리즘' 카테고리의 다른 글
프로그래머스 영어 끝말잇기 자바스크립트 (0) | 2023.08.29 |
---|---|
프로그래머스 키패드 누르기 자바스크립트 (0) | 2023.08.28 |
프로그래머스 문자열 나누기 자바스크립트 (0) | 2023.08.25 |
프로그래머스 숫자 짝꿍 자바스크립트 (0) | 2023.08.24 |
프로그래머스 옹알이(2) 자바스크립트 (0) | 2023.08.23 |