암호화된 문자열 cipher
cipher문자열에서 code의 배수 번째 글자를 찾아야함
일단 먼저 문자열 cipher를 배열로 변환
const solution = (cipher, code) => {
let answer = []
let arr = [...cipher]
return answer
}
주어진 배열에서 code번째를 찾아야하는데
const solution = (cipher, code) => {
let answer = []
let arr = [...cipher]
for (let i = 0; i < arr.length; i++) {
if ((i + 1) % code === 0) {
answer.push(arr[i])
}
}
return answer.join('')
}
일단 나는 for문을 사용해서 배열을 순환해서 code번째의 문자를 찾았다.
먼저 for문의 조건문 부분에 배열의 길이보다 적게 조건을 줬는데 이유는
배열의 index는 0부터 시작하기 때문이다. 아니면 i <= arr.length - 1 이렇게 하는 방법도 있다.
그 다음 왜 if 조건문에서 i + 1을 해줬냐면 위 설명과 마찬가지로
배열은 index 0부터 시작인데 code번째의 숫자를 찾으려면 index 0부터 포함되어야하니 i + 1을 해준다.
const solution = (cipher, code) => {
let answer = []
let arr = [...cipher]
for (let i = code - 1; i < arr.length; i += code) {
answer.push(arr[i])
}
return answer.join('')
}
아니면 애초에 for 초기문 증감문에서 code의 배수를 정해주는 방법도 있다.
댓글