20250705 Logseq

This commit is contained in:
songyc macbook 2025-07-05 22:57:20 +09:00
parent f644b844fc
commit 975b835214
3 changed files with 75 additions and 126 deletions

View File

@ -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"}}

View File

@ -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**
- ## **프로그래밍 관련 이론 정리**
- ## **C**
- ## **Java**
- ## **프로그래밍 관련 이론 정리**

View File

@ -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의 데이터들을 오름차순으로 정리함.