까먹으면 볼라고 씀
- 암호 해독
문제 설명
군 전략가 머쓱이는 전쟁 중 적군이 다음과 같은 암호 체계를 사용한다는 것을 알아냈습니다.
- 암호화된 문자열 cipher를 주고받습니다.
- 그 문자열에서 code의 배수 번째 글자만 진짜 암호입니다.
문자열 cipher와 정수 code가 매개변수로 주어질 때 해독된 암호 문자열을 return하도록 solution 함수를 완성해주세요.
for 문
code-1을 해줘야 index 3 즉 네 번째부터 적용이 되기 때문입니다!
function solution(cipher, code) {
var answer = "";
for (let i = code - 1; i < cipher.length; i += code) {
answer += cipher[i];
}
return answer;
}
split(), filter(), join()
function solution(cipher, code) {
return cipher
.split("")
.filter((data, index) => (index + 1) % code === 0)
.join("");
}

- split(“”) : 문자열을 각 문자로 분할하여 배열로 변환
- filter() : 배열의 각 요소를 순회하면서 필터링 조건을 적용
예시 : .filter((data, index) => (index + 1) % code === 0)
- data: 배열의 현재 요소 값입니다. 이 경우 cipher 문자열의 각 문자가 data로 전달됩니다.
- index: 배열의 현재 요소의 인덱스 값입니다. 이 값은 0부터 시작하여 배열의 길이보다 작은 정수로 증가합니다.
- filter() 메서드는 콜백 함수를 각 요소에 대해 실행하고, 콜백 함수가 true를 반환하는 요소만 새로운 배열에 포함시킵니다.
여기서는 (index + 1) % code === 0 조건을 사용하여 index 값이 code의 배수인 요소만 필터링합니다. - 따라서, 콜백 함수 내에서 data는 현재 처리 중인 cipher 문자열의 한 문자를 나타내고, index는 해당 문자의 인덱스를 나타냅니다

'알고리즘•코테 포스트잇' 카테고리의 다른 글
| [JavaScript] 프로그래머스_대문자와 소문자 (0) | 2023.05.26 |
|---|---|
| [JavaScript] 프로그래머스_세균 증식 (0) | 2023.05.25 |
| [JavaScript] 프로그래머스_가위 바위 보 (0) | 2023.05.25 |
| [JavaScript] 프로그래머스_개미 군단 (0) | 2023.05.25 |
| [JavaScript] 프로그래머스_제곱수 판별하기 (0) | 2023.05.25 |