νλ‘κ·Έλλ¨Έμ€ λ¬Έμ νμ΄ - λ¬Έμμ΄μ μ μλ‘ λ°κΎΈκΈ° / 2016 / μ½μμ ν© / λ¬Έμμ΄ λ€λ£¨κΈ° κΈ°λ³Έ / κ°μ μ«μλ μ«μ΄ / λλμ΄ λ¨μ΄μ§λ μ«μ λ°°μ΄
Number.isInteger() / Number()μ parseInt() λΉκ΅
π μ²μ μμ±ν νμ΄
function solution(s) {
return s.startsWith('+') ? `+${parseInt(s)}` : parseInt(s);
}
π μμ ν νμ΄
function solution(s) {
return parseInt(s);
}
π λ΄κ° μμ±ν νμ΄
function solution(a, b) {
const day = new Date(2016, a-1, b).getDay();
switch (day) {
case 0:
return 'SUN';
case 1:
return 'MON';
case 2:
return 'TUE';
case 3:
return 'WED';
case 4:
return 'THU';
case 5:
return 'FRI';
case 6:
return 'SAT';
}
}
π λ΄κ° μμ±ν νμ΄
μλλ for 루νλ₯Ό κ±°μ³ μμλΈ μ½μλ€μ λ³λμ λ°°μ΄μ λ°μμ κ·Έ μμλ€μ reduce ν¨μλ‘ λͺ¨λ λν΄μ£Όλ €κ³ νλ€.
κ·Έλ¬λ, μ²μλΆν° ν©κ³λ₯Ό μλ―Ένλ λ³μλ₯Ό μ§μ ν ν for 루νλ₯Ό κ±°μ³ μμλΈ μ½μλ€μ λ°λ‘ μ΄μ ν©κ³μ λν΄μ£Όλ μμΌλ‘ λ°κΏ¨λ€.
function solution(n) {
let sum = 0;
for (let i = 1; i <= n; i++) {
if (n % i === 0) {
sum = sum + i;
}
}
return sum;
}
π μ²μ μμ±ν νμ΄
function solution(s) {
const convertToNumber = Number(s);
if (isNaN(convertToNumber)) {
return false;
} else {
if (s.length === 4 || s.length === 6) {
return true;
} else {
return false;
}
}
}
π λ λ²μ§Έ μμ±ν νμ΄
μμμ μλ¦¬κ° μλ μ«μλ₯Ό κ³ λ € μ νλ€. if (Number.isInteger(num))
λ₯Ό μΆκ°νλ€.
μ¬μ ν νλκ° ν΅κ³Όκ° μλλ€.
function solution(s) {
if (s.length === 4 || s.length === 6) {
const num = Number(s);
if (isNaN(num)) {
return false;
} else {
if (Number.isInteger(num)) {
return true;
} else {
return false;
}
}
} else {
return false;
}
}
π μΈ λ²μ§Έ μμ±ν νμ΄
μ£Όμ΄μ§ λ¬Έμμ΄μ΄ '100.'μ΄μ΄λ trueκ° λμ€λ λ¬Έμ κ° μλ€. Number(100.)μ 100μ΄ λλ€. if (!s.includes('.'))
λ₯Ό μΆκ°νλ€.
μ΄κ±Έ κ³ μ³λ μ¬μ ν νλκ° ν΅κ³Όκ° μ λλ€...
function solution(s) {
if (s.length === 4 || s.length === 6) {
if (!s.includes('.')) {
const num = Number(s);
if (Number.isInteger(num)) {
return true;
} else {
return false;
}
} else {
return false;
}
} else {
return false;
}
}
π λ€ λ²μ§Έ μμ±ν νμ΄ (μ΅μ’ π)
μμμ (.)λ§μ΄ λ¬Έμ κ° μλμλ€. λ¬Έμλ‘ ννλ μ«μ(16μ§μ λ±)μ Number()λ₯Ό μ¬μ©ν΄λ NaNμ΄ λ¨μ§ μκ³ μ«μλ‘ λ¬Έμ μμ΄ λ³νμ΄ λλ€.
μ²μλΆν° λ€μ μμ±νλ€. for 루νλ₯Ό λλ € s λ¬Έμμ΄μ λ¬Έμ νλνλλ₯Ό Number()λ₯Ό μ΄μ©ν΄ μ«μλ‘ λ°κΎΌ ν 'μ΄κ²μ΄ μ μμΈμ§ νμΈ'νλ λ°©λ²μ μΌλ€. if (Number.isInteger(num))
λλμ΄ 100μ μ΄λ€.
function solution(s) {
let numCount = 0;
if (s.length === 4 || s.length === 6) {
for (let i = 0; i < s.length; i++) {
const num = Number(s[i]);
if (Number.isInteger(num)) {
numCount++;
}
}
if (numCount === 4 || numCount === 6) {
return true;
} else {
return false;
}
} else {
return false;
}
}
π₯ μ΄λ, λ¬ΈμμΈμ§ μ«μμΈμ§ νμΈνκΈ° μν΄ if (typeof num === 'number')
λΌκ³ μΈ μ μλ€. λ¬Έμμ Number()λ₯Ό μ¬μ©ν΄ κ·Έ κ°μ΄ NaNμ΄ λμ€λλΌλ typeof κ°μ 무쑰건 numberκ° λ¨κΈ° λλ¬Έμ΄λ€.
π‘ Number(λ¬Έμμ΄) vs parseInt(λ¬Έμμ΄)
π
Number(λ¬Έμμ΄)
λ¬Έμμ΄μ λ¬Έμκ° ν¬ν¨λμ΄ μμΌλ©΄, κ·Έ κ°μ NaNμ΄ λμ¨λ€
λ¨, λ¬Έμμ΄μ΄ λ¬Έμλ‘ ννλ μ«μλΌλ©΄, κ·Έ κ°μ μ«μκ° λμ¨λ€
- ννΈ, typeofλ₯Ό μ¬μ©νλ©΄ 무쑰건 'number'λ‘ λμ¨λ€
π
parseInt(λ¬Έμμ΄)
λ¬Έμμ΄μ λ¬Έμκ° ν¬ν¨λμ΄ μμ΄λ, parseInt()λ μ«μλ§ μΈμν΄ μ΄λ₯Ό κ·Έλλ‘ κ°μΌλ‘ λ³ννλ€ (μ μλ‘ λ³ν)
λ¨, λ¬Έμμ΄μ΄ λ¬Έμλ‘ μμνλ©΄, NaNμ λ³ννλ€. λν, λ¬Έμμ΄μ΄ λ¬Έμλ‘ ννλ μ«μλΌλ©΄, parseInt()λ ꡬ문 λΆμμ κ±°μΉ μ«μ(μ μ)λ₯Ό κ°μΌλ‘ λ³ννλ€.
- ννΈ, typeofλ₯Ό μ¬μ©νλ©΄ 무쑰건 'number'λ‘ λμ¨λ€
// π Number(λ¬Έμμ΄) console.log(Number('a123')); // NaN console.log(typeof Number('a123')); // number console.log(Number('0x11')); // 17 (0x11μ 16μ§μλ‘ ννλ 17μ μλ―Ένλ€) console.log(typeof Number('0x11')); // number // π parseInt(λ¬Έμμ΄) console.log(parseInt('1a23')); // 1 console.log(typeof parseInt('1a23')); // number console.log(parseInt('a123')); // NaN console.log(typeof parseInt('a123')); // number console.log(parseInt('0x11')); // 17 (0x11μ 16μ§μλ‘ ννλ 17μ μλ―Ένλ€) console.log(typeof parseInt('0x11')); // number
π μ²μ μμ±ν νμ΄
function solution(arr) {
const checkedValue = [];
for (let i = 0; i < arr.length; i++) {
if (checkedValue[arr[i]] === undefined) {
checkedValue[arr[i]] = 1;
} else {
arr.splice(i, 1);
i = i - 1;
}
}
return arr.flat();
}
π λ λ²μ§Έ μμ±ν νμ΄
function solution(arr) {
for (let i = 0; i < arr.length; i++) {
if (arr[i] === arr[i-1]) {
arr.splice(i, 1);
i = i - 1;
}
}
return arr;
}
π μΈ λ²μ§Έ μμ±ν νμ΄
function solution(arr) {
const answer = [];
let loop = 0;
for (let i = 0; i < arr.length; i = i + loop + 1) {
if (arr[i] === arr[i + 1]) {
let startIndex = i;
while (arr[startIndex] === arr[startIndex + 1]) {
startIndex = startIndex + 1;
loop++;
}
answer.push(arr[startIndex]);
} else {
answer.push(arr[i]);
}
}
return answer;
}
π λ€ λ²μ§Έ μμ±ν νμ΄
for 루ν λ°μ μ μΈν loop λ³μκ° for 루νμμ iκ° ν λ² μνν νμλ μ΄κΈ°νλμ§ μκ³ κ·Έλλ‘μ¬μ μνλ λλ‘ κ°μ΄ λμ€μ§ μμ κ²μ΄μλ€.
λ¬Έμ λ₯Ό ν΄κ²°νκΈ° μν΄ iκ° ν λ² μνν νμ i = i + loop + 1μ ν΅ν΄ iμ κ°μ λ°κΎΌ ν, loopλ₯Ό 0μΌλ‘ μ΄κΈ°ννλ μ½λλ₯Ό μΆκ°νλ€.
100μ . ν¨μ¨μ± ν μ€νΈκΉμ§ ν΅κ³Όνλ€.
function solution(arr) {
const answer = [];
let loop = 0;
for (let i = 0; i < arr.length; i = i + loop + 1) {
loop = 0; // μ΄ λΆλΆλ§ μΆκ°!
if (arr[i] === arr[i + 1]) {
let startIndex = i;
while (arr[startIndex] === arr[startIndex + 1]) {
startIndex = startIndex + 1;
loop++;
}
answer.push(arr[startIndex]);
} else {
answer.push(arr[i]);
}
}
return answer;
}
π λ€λ₯Έ μ¬λμ νμ΄
filter() νμ©
λλ μ°μλ μ«μ μ€ μ²μ μ«μλ€λ§ λ½μ μλ‘μ΄ λ°°μ΄μ λ§λ€μ΄ 리ν΄νλλ°, μ΄ νμ΄μμλ μ΄μ μ«μμ λ€λ₯Έ μ«μκ° λμ€λ©΄ κ·Έ μ«μλ§ κ³¨λΌ λ¦¬ν΄νλ€. νμ΄ μκ°μ λ΄κ° μ λ° μ λ λ 걸리긴 νλλ° λ΄κ° μΈλ°μμ΄ μκ°μ 볡μ‘νκ² ν κ±ΈκΉ.
function solution(arr) {
return arr.filter((item, index) => item !== arr[index + 1]);
}
π λ΄κ° μμ±ν νμ΄
function solution(arr, divisor) {
const newArr = arr.filter(x => x % divisor === 0).sort((a, b) => a - b);
return newArr.length === 0 ? [-1] : newArr;
}
π λ€λ₯Έ μ¬λμ νμ΄
function solution(arr, divisor) {
const newArr = arr.filter(x => x % divisor === 0);
return newArr.length === 0 ? [-1] : newArr.sort((a, b) => a - b);
}
νλ‘κ·Έλλ¨Έμ€ λ¬Έμ νμ΄
μ± 'λꡬλ μλ£ κ΅¬μ‘°μ μκ³ λ¦¬μ¦' μ΄μ΄μ μ½κΈ°