Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- Next
- useMutation
- react-query
- next-pwa
- 리액트
- 배열
- 리엑트
- csr
- lifecycle
- 리덕스
- Recoil
- 생명주기
- customModal component 만들기
- Firebase
- JavaScript
- programmers
- 파이어베이스
- 넥스트
- google firebase
- 자바스크립트
- Redux
- SSR
- NextJS
- debounce
- 투두리스트
- 겹치는 선분의 길이
- todolist
- JS
- React
- 달리기경주
Archives
- Today
- Total
끄적끄적
[Programmers] 둘만의 암호 (JS) 본문
문제는 문자열 S 의 각 문자를 Index 만큼 알파벳상의 순서 뒤로 미는데, Skip에 포함된 스펠링은 건너 뛰라는 것이다.
처음엔 아스키코드로 하는것이 편할까 하였지만, 다행히 알파벳은 몇개 되지 않기에 배열을 선택했다.
1. 배열로 먼저 a부터 z까지 저장을 해놓은뒤
2. skip에 포함되어있는 스펠링을 배열에서 지우고
3. 문자열 s를 index만큼 배열에 기반하여 밀어주기만 하면된다
4. 여기서 문자열이 배열을 넘어가면 다시 앞에서부터 순서를 해야하기 때문에 길이만큼 모듈러연산? 즉 나눠주기만 하면된다.
function solution(s, skip, index) {
var answer = '';
let alpha = ['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'];
alpha = alpha.filter(d => !skip.includes(d));
answer = Array.from(s).map(s => alpha[(alpha.indexOf(s)+index)%alpha.length]).join('')
return answer;
}
매일 for문을 작성하며 길게하여 가독성 좋고 이해하기 편하게 작성하려고 노력했지만,
오늘은 느낌 오는대로 한줄로 작성을 해보았다.
'Programmers' 카테고리의 다른 글
[Programmers] 신고 결과 받기 (JS) (0) | 2024.01.22 |
---|---|
[Programmers] 햄버거 만들기 (JS) (0) | 2024.01.19 |
[Programmers] 대충 만든 자판 (JS) (0) | 2024.01.18 |
[Programmers] 가장 많이 받은 선 풀이(JS) (0) | 2024.01.10 |
[Programmers] 겹치는 선분의 길이 풀이(JS) (1) | 2024.01.08 |
Comments