어떤 자연수를 제곱했을 때 나오는 정수를 제곱수라고 합니다. 정수 n이 매개변수로 주어질 때, n이 제곱수라면 1을 아니라면 2를 return하도록 solution 함수를 완성해주세요.
function solution(n) {
const sqrtN = Math.sqrt(n);
return sqrtN === Math.floor(sqrtN) ? 1 : 2;
}
제곱수라는 것은 어떤 수의 제곱근을 구했을 때 그 결과가 정수여야 한다.일단 sqrtN이라는 변수에 매개변수에 있는 n 값의 제곱근을 구해 주고, 그 값이 소수점을 없애주는 Math.floor을 해주었을 때 같은 값이면 제곱근이 정수라는 의미이므로 제곱수라는 뜻이다. 그래서 제곱수일때는 1 아니면 2를 나오게 코드를 적어주었다.
머쓱이는 할머니께 생신 축하 편지를 쓰려고 합니다. 할머니가 보시기 편하도록 글자 한 자 한 자를 가로 2cm 크기로 적으려고 하며, 편지를 가로로만 적을 때, 축하 문구 message를 적기 위해 필요한 편지지의 최소 가로길이를 return 하도록 solution 함수를 완성해주세요.
function solution(message) {
const length = message.length
return length * 2
}
각 글자마다 2cm를 쓴다고 했으므로 message string의 길이를 length로 구해주고 그 값에 2를 곱해주었다.
정수 n이 매개변수로 주어질 때, n의 약수를 오름차순으로 담은 배열을 return하도록 solution 함수를 완성해주세요.
function solution(n) {
let array = [];
for(let i=1; i<=n; i++){
if(n % i === 0){
array.push(i);
}
}
return array;
}
빈 배열을 만들어주고 1부터 n까지를 출력해준다음에 거기서 N을 i로 나누었을 때 0인것만 약수이므로 그것들을 빈 배열에 푸쉬해준뒤 리턴해 주었다.
문자열 my_string과 정수 배열 index_list가 매개변수로 주어집니다. my_string의 index_list의 원소들에 해당하는 인덱스의 글자들을 순서대로 이어 붙인 문자열을 return 하는 solution 함수를 작성해 주세요.
function solution(my_string, index_list) {
let result = ''
for(let i=0; i< index_list.length; i++){
let index = index_list[i]
result += my_string[index]
}
return result;
}
index_list안에 배열로 원소들이 들어가 있으므로 for loop로 i값 구한뒤 index_list[i]로 원소들을 하나씩 빼준다. 그 값을 my_string의 인덱스로 넣어주고 빈 문자열을 가진 result 변수에 붙여넣기 해준 후 result 값을 리턴하였다.
처음에 i< index_list.length; 이 부분을 <= 이걸로 써줘서 맨뒤가 undefined나왔었다. 배열은 0부터 세니까 .length의 값이 포함되지 않도록 해야한다.