λΆλ₯ μ 체보기 (230) μΈλ€μΌν 리μ€νΈν [λͺ¨λ₯λ€] 35μ₯ μ€νλ λ λ¬Έλ² ...μ μ΄μ©ν΄ λμ³ μλ κ°λ€μ μ§ν©μ νΌμ³μ κ°λ³μ μΈ κ°λ€μ λͺ©λ‘μΌλ‘ λ§λ λ€. π μ€νλ λ λ¬Έλ²μ κ²°κ³Όλ κ°μ΄ μλλ€. λ°λΌμ μ€νλ λ λ¬Έλ²μ κ²°κ³Όλ λ³μμ ν λΉν μ μλ€. π©» 35.1 ν¨μ νΈμΆλ¬Έμ μΈμ λͺ©λ‘μμ μ¬μ©νλ κ²½μ° Math.max() Math.max(...[1, 2, 4, 5]) μ΄λ° μμΌλ‘ μ¬μ© κ°λ₯. - κ°μλ₯Ό νμ ν μ μλ κ°λ³ μΈμ ν¨μ πRest νλΌλ―Έν°μ ν·κ°λ¦¬μ§ λ§ κ²! Rest νλΌλ―Έν° : ν¨μμ μ λ¬λ μΈμλ€μ λͺ©λ‘μ λ°°μ΄λ‘ μ λ¬λ°κΈ° μν¨. μ€νλ λ λ¬Έλ² : μ¬λ¬κ°μ κ°μ΄ νλλ‘ λμ³μλ λ°°μ΄κ³Ό κ°μ μ΄ν°λ¬λΈμ νΌμ³μ κ°λ³μ μΈ κ°λ€μ λͺ©λ‘μ λ§λλ κ². => μλ‘ λ°λμ κ°λ //Rest λ¬Έλ² μμ function foo(...rest) { console.log(Ar.. [μκ³ λ¦¬μ¦ || νλ‘κ·Έλλ¨Έμ€] μ΄μ§ λ³ν λ°λ³΅νκΈ° https://school.programmers.co.kr/learn/courses/30/lessons/70129 νλ‘κ·Έλλ¨Έμ€ μ½λ μ€μ¬μ κ°λ°μ μ±μ©. μ€ν κΈ°λ°μ ν¬μ§μ 맀μΉ. νλ‘κ·Έλλ¨Έμ€μ κ°λ°μ λ§μΆ€ν νλ‘νμ λ±λ‘νκ³ , λμ κΈ°μ κΆν©μ΄ μ λ§λ κΈ°μ λ€μ λ§€μΉ λ°μΌμΈμ. programmers.co.kr function solution(s) { let zero = 0; let count = 0; while (s !== "1") { zero += s.split("1").join("").length; s = s.split("0").join("").length.toString(2); count++; } return [count, zero]; } μ΄λ»κ² νλ©΄ μ΅λν νλ³νμ μμν€κ³ λ§λ€ μ μμκΉ νλ€.. [μκ³ λ¦¬μ¦ || νλ‘κ·Έλλ¨Έμ€] λ μ μ μ¬μ΄μ ν© λ μ μ μ¬μ΄μ ν©μ ꡬνλ 곡μμ΄ μλ€. λ μ μ x, y κ° μκ³ y κ° λ ν° μλΌλ©΄ n(x+y)/2 μ¬κΈ°μ n μ x, y μ¬μ΄μ μλ μλ€μ κ°μλ₯Ό λνλΈλ€. (y-x+1)*(x+y)/2 κ·Έλ¬λ μ΄λ κ² μΈ μλ μλ€. function solution(a, b) { if (a === b) return a; return a < b ? (b - a + 1) * (a + b) / 2 : (a - b + 1) * (a + b) / 2 } λ¨Όμ a, bμ κ°μ΄ κ°λ€λ©΄ λ μ€ μ무거λ return νλ€. μλλΌλ©΄, 곡μμ μ΄μ©ν κ°μ return. Math.max μ Math.min μ μΈκΉ νλ€κ° λ λ¨μνκ² νμ΄λ³΄κ³ μΆμ΄μ μΌνμ°μ°μλ₯Ό μ΄μ©νλ€. [λͺ¨λ₯λ€] 34μ₯ μ΄ν°λ¬λΈ π» 34.1 μ΄ν°λ μ΄μ νλ‘ν μ½ iteration: λ°λ³΅, μν protocol: μ½μ, κ·κ²© => μ΄ν°λ μ΄μ νλ‘ν μ½μ λ°λ₯Έλ€λ κ²μ μνκ° κ°λ₯νλ€ λΌκ³ λ λ§ν μ μλ€. => μ΄ν°λ μ΄μ νλ‘ν μ½μ λ°λ₯΄λ κ°μ²΄λ for...of λ spread μ°μ°μλ₯Ό μ¬μ©ν μ μλ€. μ΄λ€ κ°μ²΄λ μ§ μνκ° κ°λ₯ν κ°μ²΄κ° λκΈ° μν΄μλ iterable νλ‘ν μ½μ λ°λΌμΌνλ€. [Symbol.iterator](): Iterator νλ‘ν μ½ -> μ΄ ν¨μλ₯Ό λ§λ€λ©΄? μνκ° κ°λ₯ν μ€λΈμ νΈκ° λλ€. -> κ·Έλ¦¬κ³ μ΄ ν¨μ μμμ Iterator νλ‘ν μ½μ λ°λ₯΄λ, μ¦ μννλ λ°λ³΅μλ₯Ό 리ν΄νλ κ°μ²΄λ₯Ό λ§λ€λ©΄ λλ€. π μ΄ν°λ μ΄μ νλ‘ν μ½ μν κ°λ₯ν λ°μ΄ν° 컬λ μ μ λ§λ€κΈ° μν΄ ECMAScript μ¬μμ μ μνμ¬ λ―Έλ¦¬ μ½μν.. [μκ³ λ¦¬μ¦ || νλ‘κ·Έλλ¨Έμ€] πΏοΈ μ€ν/ν : μ¬λ°λ₯Έ κ΄νΈ + μ²μ λ§λ 'ν¨μ¨μ± ν μ€νΈ' μκ³ λ¦¬μ¦ μ€ν°λμμ κ°μ΄ νΌ λ¬Έμ μΈλ°, μ²μμΌλ‘ ν¨μ¨μ± ν μ€νΈλΌλ μΉκ΅¬λ₯Ό λ°κ²¬νλ€. //(β) function solution(s) { if (s.length < 1) return false; if (s.startsWith(")")) { return false; } while (s.includes("()")) { s = s.replaceAll("()", "") } return s == "" ? true : false; } μ΄ μ½λλ μ²μ μμ±νλ μ½λμΈλ°, ν μ€νΈ μ체λ ν΅κ³Όνμ§λ§, ν¨μ¨μ± ν μ€νΈμμ μ€ν¨νλ€κ³ λμλ€. μλ‘ λ§λ μ½ν μ λ²½,,,, (μ νμ± ν μ€νΈλ μμΈ μ²λ¦¬λ₯Ό μ ν΄μ£Όλ©΄ λλ€) λΉλλμ ννΈλ₯Ό κ°μ§κ³ μ΄λ κ² μ λ κ² νμκ° μ λλ₯Ό μ€λ¬΄κ³ κ°λ₯Ό ν΄λ΄€λλ°, λ΄κ° νκ³ μΆμλ λ°©μμΌλ‘λ λμ ν .. [λͺ¨λ₯λ€] 32μ₯ String π 32.1 String μμ±μ ν¨μ String λνΌ κ°μ²΄λ λ°°μ΄κ³Ό λ§μ°¬κ°μ§λ‘ length νλ‘νΌν°μ μΈλ±μ€λ₯Ό λνλ΄λ μ«μνμμ λ¬Έμμ΄μ νλ‘νΌν° ν€λ‘, κ° λ¬Έμμ΄μ νλ‘νΌν° κ°μΌλ‘ κ°λ μ μ¬ λ°°μ΄ κ°μ²΄μ΄λ€. λ¬Έμμ΄μ μμκ°μ΄λ―λ‘ λ³κ²½ν μ μλ€. λ³κ²½νλ €ν΄λ μ€λ₯κ° λμ§ μκ³ λ³κ²½λ μλλ€. new String() μΈμ λ μλ‘μ΄ λ¬Έμμ΄μ λ°ννλ€. 32.3.4 String.prototype.startsWith - λμ λ¬Έμμ΄μ΄ μΈμλ‘ μ λ¬λ°μ λ¬Έμμ΄λ‘ μμνλμ§ νμΈ -> true, false λ¦¬ν΄ 32.3.5 String.prototype.endsWith - λμ λ¬Έμμ΄μ΄ μΈμλ‘ μ λ¬λ°μ λ¬Έμμ΄λ‘ λλλμ§ νμΈ -> true, false λ¦¬ν΄ 32.3.7 String.prototype.substr.. [μκ³ λ¦¬μ¦ || νλ‘κ·Έλλ¨Έμ€] μ μ μ κ³±κ·Ό νλ³ λμ μ½λ function solution(n) { return Number.isInteger(Math.sqrt(n)) ? (Math.sqrt(n) + 1) ** 2 : -1; } sqrt λ₯Ό μ΄μ©ν΄μ μ κ³±κ·Όμ ꡬνκ³ μ΄κ² integer λ©΄ κ·Έ λ€μ κ³μ°μ λ°ννλ€. μ μμΈμ§ νλ³νλ λ€λ₯Έ λ°©λ²μ 1λ‘ λλ΄μ λ λλ¨Έμ§κ° 0μ΄ λλμ§λ₯Ό νμΈνλ κ²μ΄λ€. Math.sqrt(n) % 1 == 0 λΉ? γ γ·γ·... function solution(n) { return ((x) => Number.isInteger(x) ? (x + 1) ** 2 : -1)(Math.sqrt(n)) } λλ€~~~ μ¦μ μ€νν¨μ (()=>{})() [μκ³ λ¦¬μ¦ || νλ‘κ·Έλλ¨Έμ€] μ΅λκ°κ³Ό μ΅μκ° split μΌλ‘ λλ λ€, Number λ‘ νλ³νν΄μ μ΅λκ°, μ΅μκ°μ ꡬνλλ°, function solution(s) { const numArr = s.split(" ").map(Number) const max = Math.max(...numArr); const min = Math.min(...numArr); return `${min} ${max}` } μλ μ΄κ² λλ Math.min, Math.max λ string μ λ£μΌλ©΄ μμμ μ«μλ‘ λ³νμν¨λ€. function solution(s) { const arr = s.split(' '); return Math.min(...arr)+' '+Math.max(...arr); } const solution = s => Math.min(...s.split(".. μ΄μ 1 Β·Β·Β· 9 10 11 12 13 14 15 Β·Β·Β· 29 λ€μ