Practice for coding test

프로그래머스 - Level 1. 둘만의 암호/ JavaScript (js)

Gray Park 2023. 2. 11. 11:30
728x90
반응형

문제설명

문제분석

문자열 암호 문제입니다. 문자열 s의 각 요소를 index만큼 뒤의 알파벳으로 치환하여 리턴하면 됩니다. 다만 이때 skip에 포함된 알파벳은 (index 만큼)에 포함되지 않습니다. 가벼운 마음으로 풀어보겠습니다.

  1. 문자열 s의 각 요소를 skip에 포함되지 않은 뒤의 알파벳 중 index 만큼 건너간 알파벳으로 치환한다.

이해하기 쉽게 코드작성하기

function solution(s, skip, index) {
	// 모든 알파벳 중 skip에 포함된 알파벳 제외
    const remainAlphabet = "abcdefghijklmnopqrstuvwxyz".split("").filter(x => !skip.includes(x));
    
    // 문자열 s의 각 요소를 남은 알파벳 중 index 만큼 뒤의 알파벳으로 치환
    return s.split("").map(x => {
        const curIdx = remainAlphabet.indexOf(x);
        return remainAlphabet[(curIdx + index) % remainAlphabet.length];
    }).join("");
}

주말이고 Level 1 문제인만큼, 오늘은 조금 가볍게 풀이하고 넘어가겠습니다. 하루에 이렇게 포스팅하는 문제보다 푼 문제가 더 많지만, 그래도 꾸준히 하나씩이라도 남겨보겠습니다.

728x90
반응형