diff --git a/logseq/config.edn b/logseq/config.edn index 37b3c7a..1777b8b 100644 --- a/logseq/config.edn +++ b/logseq/config.edn @@ -419,4 +419,6 @@ ;; ;use triple underscore `___` for slash `/` in page title ;; ;use Percent-encoding for other invalid characters :file/name-format :triple-lowbar - :journal/page-title-format "yyyy-MM-dd EEEE"} + :journal/page-title-format "yyyy-MM-dd EEEE" + :feature/enable-journals? false + :default-home {:page "πŸ“‹ Index Page"}} diff --git a/pages/πŸ‘©πŸ»β€πŸ’»μ½”λ”© 팁 μ½”λ“œ λͺ¨μŒ.md b/pages/πŸ‘©πŸ»β€πŸ’»μ½”λ”© 팁 μ½”λ“œ λͺ¨μŒ.md index e1dfcea..8f0471a 100644 --- a/pages/πŸ‘©πŸ»β€πŸ’»μ½”λ”© 팁 μ½”λ“œ λͺ¨μŒ.md +++ b/pages/πŸ‘©πŸ»β€πŸ’»μ½”λ”© 팁 μ½”λ“œ λͺ¨μŒ.md @@ -1,7 +1,7 @@ deck:: Logseq/coding tip -- ## **Javascript / Typescript** - - ### **이차원 λ°°μ—΄(n*m) 생성** +- ## **❖ Javascript / Typescript** + - ### **β–Ί 이차원 λ°°μ—΄(n*m) 생성** - id:: 6867f897-928a-4f22-8184-491fa70314db 1. Array.from() μ‚¬μš©λ²• #card - ```javascript @@ -23,12 +23,77 @@ deck:: Logseq/coding tip } } ``` -- ## **Python** - - ### **이차원 λ°°μ—΄(n*m) 생성** #card + - ### **β–Ί λ°°μ—΄ λ§€μ„œλ“œ** + - ### **β—ΌοΈŽ Array.every((element, index, array) => {쑰건식})** #card + id:: 686922a8-1c72-4261-8339-aff6ece36f03 + - **λ°°μ—΄μ˜ λͺ¨λ“  μš”μ†Œκ°€ 쑰건식을 λ§Œμ‘±ν•˜λŠ”μ§€ ν™•μΈν•΄μ„œ true/falseλ₯Ό λ°˜ν™˜ν•˜λŠ” λ§€μ„œλ“œ** + - **elememt : ν˜„μž¬ μš”μ†Œ, index : ν˜„μž¬ 인덱슀(μƒλž΅κ°€λŠ₯), array : 원본 λ°°μ—΄(μƒλž΅ κ°€λŠ₯)** + - **λ°°μ—΄μ˜ λͺ¨λ“  μš”μ†Œκ°€ νŠΉμ • 값인지 ν˜Ήμ€ νŠΉμ • λ²”μœ„μ— μžˆλŠ”μ§€ ν™•μΈν•˜λŠ” μš©λ„λ‘œ μ‚¬μš©κ°€λŠ₯** + - ```javascript + const arr = [1,2,3,4,5,6,7,8,9,10]; + + arr.every((v,i) => v===i+1); // true + arr.every((v,i,array) => { + if(i<[array.length-1]){ + return array[i] < array[i+1]; + } + else { + return true; + } + }); // true + arr.every(v => v===arr[0]); // false + ``` + - ### **β—ΌοΈŽ Array.slice(start_idx, end_idx)** #card + id:: 68692600-551c-488b-ad74-de8145729133 + - **λ°°μ—΄μ—μ„œ νŠΉμ • λ²”μœ„μ˜ 인덱슀 λΆ€λΆ„λ§Œ μž˜λΌλ‚΄μ„œ κ·Έ 배열을 λ°˜ν™˜ν•˜λŠ” λ§€μ„œλ“œ** + - **end_idxλŠ” μƒλž΅ κ°€λŠ₯ν•˜λ‹€** + - 이 κ²½μš°μ—λŠ” start_idx λΆ€ν„° λκΉŒμ§€ λ°˜ν™˜ν•œλ‹€. + - **λ°°μ—΄μ˜ start_idx 인덱슀 λΆ€ν„° end_idx - 1 μΈλ±μŠ€κΉŒμ§€μ˜ 배열을 μž˜λΌλ‚΄μ„œ λ°˜ν™˜ν™€** + - 예λ₯Ό λ“€λ©΄ arr.slice(2,7) 은 arr의 인덱슀2 λΆ€ν„° 인덱슀 6κΉŒμ§€μ˜ 배열을 λ°˜ν™˜ν•¨. + - **λ²”μœ„λ₯Ό μ΄ˆκ³Όν•΄λ„ μ—λŸ¬λ₯Ό λ‚΄μ§€ μ•ŠμŒ. κ·Έμ € 빈 배열을 λ°˜ν™˜ν•  λΏμž„.** + - **아무리 ν˜ΈμΆœν•΄λ„ 원본 λ°°μ—΄ 자체λ₯Ό λ°”κΎΈμ§€λŠ” μ•ŠλŠ”λ‹€.** + - ```javascript + const arr = [0,1,2,3,4,5,6,7,8,9,10]; + + const arr1 = arr.slice(2); // [2,3,4,5,6,7,8,9,10] + const arr2 = arr.slice(5,10); // [5,6,7,8,9] + const arr3 = arr.slice(12); // [] + ``` + - ### **β—ΌοΈŽ Array.forEach((element, index, array) => {})** #card + id:: 6869280c-f685-44c4-b73e-a33f351be582 + - **λ°°μ—΄μ˜ λͺ¨λ“  μš”μ†Œλ₯Ό μˆœμ„œλŒ€λ‘œ μˆœνšŒν•˜λ©΄μ„œ μ½”λ“œλ₯Ό μ‹€ν–‰ν•˜λŠ” λ§€μ„œλ“œ** + - **element(ν˜„μž¬ μš”μ†Œ)λŠ” λ°˜λ“œμ‹œ ν•„μš”ν•˜κ³ , index(ν˜„μž¬ 인덱슀)와 array(원본 λ°°μ—΄)λŠ” μƒλž΅ κ°€λŠ₯ν•˜λ‹€.** + - **λͺ¨λ“  배열을 μˆœνšŒν•˜λŠ” 반볡문과 λΉ„μŠ·ν•˜κ²Œ μ‚¬μš©μ΄ κ°€λŠ₯ν•˜λ‹€** + - 단 λ°˜λ³΅λ¬Έμ—μ„œ μ“°μ΄λŠ” continueλ‚˜ breakλŠ” μ‚¬μš©ν•  수 μ—†λ‹€. + - return을 continue 처럼 μ‚¬μš©ν•  수 있고, breakλŠ” μ‚¬μš©ν•  수 μ—†λ‹€. + - 즉 breakκ°€ κΌ­ ν•„μš”ν•˜λ‹€λ©΄ 반볡문으둜 κ΅¬ν˜„ν•œλ‹€. + - ```javascript + const arr = [1,2,3,4,5]; + arr.forEach(v => { + if(v===3) return; + console.log(v); + }); + // 1 2 4 5 + ``` + - ### **β—ΌοΈŽ Array.reduce((acc, element, index) => {μ½œλ°±ν•¨μˆ˜}, initial value)** #card + id:: 6869298b-18fd-4524-a697-c1af9e510c34 + - **λ°°μ—΄μ˜ 각 μš”μ†Œλ³„λ‘œ μˆœνšŒν•˜λ©° λˆ„μ μž(acc)λ₯Ό κ³„μ‚°ν•˜κ³  λͺ¨λ“  순회λ₯Ό 마친 λ’€μ˜ λˆ„μ μžλ₯Ό λ°˜ν™˜ν•˜λŠ” λ§€μ„œλ“œ** + - **μ΄ˆκΈ°κ°’μ„ μž…λ ₯ν•˜μ§€ μ•ŠμœΌλ©΄ 기본적으둜 accλŠ” 0으둜 μ΄ˆκΈ°ν™” 된 채 μ‹€ν–‰λœλ‹€.** + - **μ½”λ“œκ°€ ν•œμ€„μ΄λ©΄ ꡳ이 return으둜 λ°˜ν™˜μ„ ν•  ν•„μš”λŠ” μ—†μœΌλ‚˜ κ³„μ‚°μ½”λ“œκ°€ 2쀄 이상이면 λˆ„μ κ°’μ„ 직접 return ν•΄μ£Όμ–΄μ•Ό ν•œλ‹€.** + - ```javascript + const arr = [1,2,3,4,5]; + const sum = arr.reduce((acc,v) => acc + v, 0); // 15 + const sum_odd = arr.reduce((acc,v) => { + if(v%2===0) return acc; + else return acc+v; + },0); //9 + ``` +- ## **❖ Python** + - ### **β–Ί 이차원 λ°°μ—΄(n*m) 생성** #card id:: 6867f994-13d0-4937-90e9-d8aec7be5d67 - ```python arr = [[0]*m for _ in range(n)] ``` -- ## **C** -- ## **Java** -- ## **ν”„λ‘œκ·Έλž˜λ° κ΄€λ ¨ 이둠 정리** \ No newline at end of file +- ## **❖ C** +- ## **❖ Java** +- ## **❖ ν”„λ‘œκ·Έλž˜λ° κ΄€λ ¨ 이둠 정리** \ No newline at end of file diff --git a/pages/πŸ‘©πŸ»β€πŸ’»μ½”λ”© 팁 μ½”λ“œ λͺ¨μŒ_이전.md b/pages/πŸ‘©πŸ»β€πŸ’»μ½”λ”© 팁 μ½”λ“œ λͺ¨μŒ_이전.md index 650fc1e..a38db06 100644 --- a/pages/πŸ‘©πŸ»β€πŸ’»μ½”λ”© 팁 μ½”λ“œ λͺ¨μŒ_이전.md +++ b/pages/πŸ‘©πŸ»β€πŸ’»μ½”λ”© 팁 μ½”λ“œ λͺ¨μŒ_이전.md @@ -1,126 +1,8 @@ deck:: Logseq/coding tip -- ## **각 언어별 2차원 λ°°μ—΄(n*m) 생성** - - **Javascript** - - id:: 684578c3-84af-4595-af7a-dc46f58bd99b - 1. ν•œμ€„λ‘œ μ„ μ–Έν•˜κΈ°(2κ°€μ§€ 방법) - - ```javascript - const arr = Array.from({ length: n }, () => new Array(m).fill(0)); - - const arr = new Array(n).fill().map(() => new Array(m).fill(0)); - ``` - - id:: 68457909-49bf-4cab-b5fc-c61081c0aa0c - 2. 반볡문으둜 μ€‘μ²©ν•΄μ„œ μƒμ„±ν•˜κΈ° - - ```javascript - let arr = []; - for (let i = 0; i < n; i++) { - arr[i] = []; - for (let j = 0; j < m; j++) { - arr[i][j] = 0; - } - } - ``` - - id:: 684577c9-7ecc-4ac9-a959-40f1d7593b1b - 3. 값이 μ •ν•΄μ ΈμžˆλŠ” 경우 - - ```javascript - const arr = [ - [1, 2, 3], - [4, 5, 6], - [7, 8, 9] - ]; - ``` - - **python** - - id:: 82ac6ae7-4155-407c-ac0a-78f00ed46c6a - 1. ν•œμ€„λ‘œ μ„ μ–Έν•˜κΈ° - - ```python - arr = [[0]*m for _ in range(n)] - ``` -- - ## **λ°°μ—΄κ΄€λ ¨ 팁 λͺ¨μŒ** - **Javascript** - - **arr.every()** - - **κΈ°λ³Έ μ •μ˜** - id:: 68500a89-08d4-48b2-aa6b-c465041f065b - **λ°°μ—΄μ˜ λͺ¨λ“  μš”μ†Œκ°€ 쑰건식을 λ§Œμ‘±ν•˜λŠ”μ§€ ν™•μΈν•΄μ„œ T/Fλ₯Ό λ°˜ν™˜ν•˜λŠ” λ§€μ„œλ“œ** - ```javascript - const arr = [1,2,3,4,5]; - arr.every((element, index, array) => {쑰건식}); - // element: ν˜„μž¬ μš”μ†Œ - // index: ν˜„μž¬ 인덱슀 (μƒλž΅ κ°€λŠ₯) - // array: 원본 λ°°μ—΄ (μƒλž΅ κ°€λŠ₯) - ``` - - **예제 : λ°°μ—΄μ˜ λͺ¨λ“  μš”μ†Œκ°€ 같은 값인지 ν™•μΈν•˜λŠ” μ½”λ“œλ₯Ό μž‘μ„±ν•˜μ‹œμ˜€.** - id:: 68500afb-beda-428b-bab7-e2dceb371325 - collapsed:: true - **μ˜ˆμ‹œ 배열은 arr1 = [5,5,5], arr2 = [5,4,5] 둜 μ„ μ–Έν•΄μ„œ ν•  것!** - - ```javascript - const arr1 = [5, 5, 5]; - const arr2 = [5, 4, 5]; - - arr1.every(v => v===arr1[0]); // true - arr2.every(v => v===arr2[0]); // false - ``` - - - **arr.slice()** - - **κΈ°λ³Έ μ •μ˜** - id:: 68500c5b-9c05-4141-ab0c-3e179450bc03 - **λ°°μ—΄μ˜ μž…λ ₯ν•œ μΈλ±μŠ€λΆ€ν„° λκΉŒμ§€μ˜ 배열을 λ°˜ν™˜ν•˜λŠ” λ§€μ„œλ“œ** - **인덱슀 λ²”μœ„λ₯Ό μ΄ˆκ³Όν•΄λ„ 빈 배열을 λ°˜ν™˜ν•˜κΈ° λ•Œλ¬Έμ— μ—λŸ¬κ°€ μ—†μŒ** - ```javascript - const arr = [1,2,3,4,5]; - arr.slice(3); // [4,5] - arr.slice(5); // [] - ``` - - - - **arr.forEach()** - - **κΈ°λ³Έ μ •μ˜** - id:: 68500698-1dfa-4aff-9577-359f8fe63c99 - - ```javascript - const arr = [1,2,3,4,5]; - arr.forEach((element, index, array) => { - // element: ν˜„μž¬ μš”μ†Œ - // index: ν˜„μž¬ 인덱슀 (μƒλž΅ κ°€λŠ₯) - // array: 원본 λ°°μ—΄ (μƒλž΅ κ°€λŠ₯) - // μœ„μ˜ ν˜„μž¬ μš”μ†Œ 및 인덱슀, 원본배열은 νŽΈν•œκ±Έλ‘œ λ°”κΏ”μ„œ 선언해도 됨. - // μœ„μ— μ§€μ •ν•œ 것을 λ³€μˆ˜μ‚Όμ•„μ„œ forλ¬Έ μ•ˆμ˜ μ½”λ“œλ₯Ό μž‘μ„±ν•˜λ“― μ½œλ°±ν•¨μˆ˜λ₯Ό μ„ μ–Έ - // 그러면 forλ¬Έ 처럼 각 μš”μ†Œλ“€μ€ μˆœνšŒν•˜λ©° μ½”λ“œλ₯Ό 싀행함 - }); - ``` - - **반볡문 μ œμ–΄ ν•¨μˆ˜μΈ break, continue μ‚¬μš©λ²•** - id:: 685007a1-6eab-4601-b002-6e0724e064d8 - - breakλŠ” μ‚¬μš© λΆˆκ°€(κΌ­ ν•„μš”ν•˜λ‹€λ©΄ κ·Έλƒ₯ for, while, do whlie을 μ“Έ 것!) - - continueλŠ” return 으둜 λŒ€μ²΄ν•΄μ„œ μ‚¬μš©ν•¨.(ν˜„μž¬ μΈλ±μŠ€μ— λŒ€ν•œ 순회λ₯Ό κ·Έμ¦‰μ‹œ 끝내고 λ‹€μŒμœΌλ‘œ λ„˜μ–΄κ°) - - 예제 - ```javascript - const arr = [1,2,3,4,5]; - arr.forEach(v => { - if(v===3) return; - console.log(v); - }); - - // 좜λ ₯(κ°œν–‰μ€ μƒλž΅ν•¨) - // 1 2 4 5 - ``` - - - - **arr.reduce()** - - **κΈ°λ³Έ μ •μ˜** - id:: 685698f1-be84-4d2a-9440-256b6831989d - - ```javascript - // arr.reduce(<μ½œλ°±ν•¨μˆ˜>,<λˆ„μ λ³€μˆ˜μ˜ μ΄ˆκΈ°κ°’>) - arr.reduce((accumulator, currentValue, currentIndex, array)=> <ν•¨μˆ˜μ½”λ“œ>, <λˆ„μ μžμ˜ μ΄ˆκΈ°κ°’>) - // accumulator: 이전 μš”μ†Œλ₯Ό μƒλŒ€λ‘œ 콜백 ν•¨μˆ˜λ₯Ό μ‹€ν–‰ν•œ κ²°κ³Ό (λˆ„μ μž) - // currentValue: ν˜„μž¬ μš”μ†Œμ˜ κ°’ - // currentIndex: ν˜„μž¬ μš”μ†Œμ˜ 인덱슀 (μƒλž΅κ°€λŠ₯) - // array: reduce() λ©”μ„œλ“œλ₯Ό ν˜ΈμΆœν•˜λŠ” λ°°μ—΄ (μƒλž΅κ°€λŠ₯) - ``` - - λ°°μ—΄μ˜ 각 μš”μ†Œλ³„λ‘œ λˆ„μ μžλ₯Ό κ³„μ‚°ν•˜κ³  μ΅œμ’…μ μœΌλ‘œ λͺ¨λ“  μš”μ†Œλ₯Ό μˆœνšŒν•œ λ’€μ˜ λˆ„μ μžλ₯Ό 리턴함. - - **μ˜ˆμ‹œ (1-10κΉŒμ§€μ˜ 합을 κ΅¬ν•˜κΈ°)(1-10κΉŒμ§€ 배열을 ν•œμ€„λ‘œ μ„ μ–Έν•œ λ’€ κ·Έ λ°°μ—΄μ˜ 합을 κ΅¬ν•˜λŠ” λ°©μ‹μœΌλ‘œ)** - id:: 68569a43-c4bc-4aaf-b07b-aeef8599a43f - - ```javascript - const arr = Array.from({length : 10}, (v,i)=> v=i+1); - const sum = arr.reduce((acc, val) => acc + val, 0); - console.log(sum); // 55 - ``` - - **arr.sort()** - arr의 데이터듀을 μ˜€λ¦„μ°¨μˆœμœΌλ‘œ 정리함.