반복문 8번
for문
function makeOddDigits(num) {
let result = '';
let count = 0;
for(let i = 1; count < num; i = i + 2) {
result = result + i;
count++;
}
return result;
}
// num = 3
// count = 0, result = '1', i = 3 count++
// count = 1, result = '13', i = 5 count++
// count = 2, result = '135'
while문
function makeOddDigits(num) {
let result = '';
let count = 0;
let i = 1;
while(count < num) {
result = result + i;
i = i + 2;
count++;
}
return result;
}
반복문 17번 참고
function isPrime(num) {
for(let i = 2; i < num; i++) {
if(num % i === 0) {
return false;
}
}
return true;
}
다른 풀이
function isPrime(num) {
let sqrt = parseInt(Math.sqrt(num));
if (num === 2) {
return true;
}
if (num % 2 === 0) {
return false;
}
for (let i = 3; i <= sqrt; i += 2) {
if (num % i === 0) {
return false;
}
}
return true;
}
⭐️⭐️⭐️ 반복문 18번
function listPrimes(num) {
let result = '2'
for (let i = 3; i <= num; i += 2) { //2의 배수는 안되기 땜에
let isPrime = true // 기본값 : 3,5,7(i)의 sqrt는 3(let j = 3)보다 작기 땜에 그냥 나옴.
for (let j = 3; j <= Math.sqrt(i); j += 2) {
if (i % j === 0) {
isPrime = false
}
}
if (isPrime === true) {
result = result + '-' + i
}
}
return result;
}
// i = 3, 5, 7, 9, 11, 13, 15, 17, 19
// j = 1.7, 2.2, 2,6, 3, 3.3, 3.6, 3.8, 4.1, 4.3
반복문 19번
function makePermutations(str) {
let result = '';
for(let i = 0; i < str.length; i++) {
for(let j = 0; j < str.length; j++) {
result = result + str[i] + str[j] + ',';
}
}
return result.slice(0, -1);
}
//i = a / j = a, b
//i = b / j = a, b
⭐️ 반복문 21번
function makeMarginalString(str) {
let result = '';
for(let i = 0; i < str.length; i++) {
for(let j = 0; j <= i; j++) {
result = result + str[j];
}
}
return result;
}
// ⭐️j의 조건식⭐️ : i = 0일 때, j = 0 === a
// i = 1일 때, j = 0, 1 === ab
// i = 2일 때, j = 0, 1, 2 === abc