λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

λΆ„λ₯˜ 전체보기

(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("..

728x90
λ°˜μ‘ν˜•