1. 잘라서 배열로 저장하기
문자열 my_str과 n이 매개변수로 주어질 때, my_str을 길이 n씩 잘라서 저장한 배열을 return하도록 solution 함수를 완성해주세요.
function solution(my_str, n) {
const num = Math.ceil(my_str.length / n);
const answer = [];
for (let i = 0; i < num; i++) {
const start = i * n;
let end = 0;
if (start + n >= my_str.length) {
end = my_str.length;
} else {
end = start + n;
}
answer.push(my_str.substring(start, end));
}
return answer;
}
- solution 함수는 두 개의 매개변수 my_str과 n을 받습니다.
- num 변수는 주어진 문자열을 n으로 나눈 후 올림한 값입니다.
- 이는 결과 배열의 길이를 결정합니다.answer 배열은 결과 부분 문자열을 저장하기 위한 빈 배열입니다.
- for 루프는 num의 값에 따라 반복합니다.
- 각 반복에서 i는 0부터 num - 1까지 증가합니다.start 변수는 현재 반복에서 부분 문자열의 시작 위치를 나타냅니다.
- if 문은 부분 문자열의 끝 위치 end를 결정합니다.
- tart + n이 주어진 문자열의 길이보다 크거나 같으면, 부분 문자열의 끝은 주어진 문자열의 끝을 가리킵니다.
- 따라서 end를 my_str.length로 설정합니다.
- 그렇지 않은 경우, 부분 문자열의 끝은 start + n이 됩니다.
- 따라서 end를 start + n으로 설정합니다.
- answer.push(my_str.substring(start, end))은 my_str 문자열에서 시작 위치 start부터 끝 위치 end까지의 부분 문자열을 answer 배열에 추가합니다.
- for 루프가 종료되면 answer 배열에는 my_str 문자열이 길이 n으로 나누어진 부분 문자열이 저장되어 있습니다.
2. 최댓값 만들기 (2)
- 정수 배열 numbers가 매개변수로 주어집니다.
- numbers의 원소 중 두 개를 곱해 만들 수 있는 최댓값을 return하도록 solution 함수를 완성해주세요.
function solution(numbers) {
let answer = 0;
numbers.sort((a, b) => a - b); // 배열 오름차순 정렬
let a1 = numbers[0] * numbers[1];
let a2 = numbers[numbers.length - 1] * numbers[numbers.length - 2];
answer = (a1 < a2) ? a2 : a1;
return answer;
}
- solution 함수는 숫자 배열 numbers를 매개변수로 받습니다.
- answer 변수는 결과값을 저장하기 위한 변수로, 초기값은 0으로 설정됩니다.
- numbers.sort((a, b) => a - b) 구문은 numbers 배열을 오름차순으로 정렬합니다.
- 이를 통해 배열 내의 숫자들이 작은 값부터 큰 값으로 정렬됩니다.
- a1 변수는 정렬된 numbers 배열의 첫 번째와 두 번째 수를 곱한 값을 저장합니다.
- a2 변수는 정렬된 numbers 배열의 마지막 두 수를 곱한 값을 저장합니다.
- answer 변수는 a1과 a2 중에서 더 큰 값을 선택하여 저장합니다.
- 삼항 연산자((a1 < a2) ? a2 : a1)를 사용하여 비교하고 큰 값을 선택합니다.