logseq 20260109
This commit is contained in:
parent
09786bd415
commit
e9bbdd6060
1
logseq/.recycle/pages_👩🏻💻코딩 팁 코드 모음_이전.md
Normal file
1
logseq/.recycle/pages_👩🏻💻코딩 팁 코드 모음_이전.md
Normal file
@ -0,0 +1 @@
|
||||
-
|
||||
@ -29,6 +29,38 @@ deck:: Logseq/coding tip
|
||||
}
|
||||
```
|
||||
-
|
||||
- ## **► 비 고차 내장함수 모음**
|
||||
- ### **◼︎ stride()**
|
||||
- **정의**
|
||||
- 일정한 간격으로 숫자 {{c1 시퀀스}}를 생성하는 함수.
|
||||
extra:: python의 range와 비슷함.
|
||||
id:: 6960b576-ad59-4da0-bd9b-cdc8a293e99e
|
||||
- **파라미터**
|
||||
- stride의 파라미터는 {{c1 from}}, {{c1 to}}, {{c1 through}}, {{c1 by}} 이다.
|
||||
extra:: (from, to, by) 혹은 (from, through, by) 조합으로 쓰인다.
|
||||
id:: 6960b5b7-4154-4ed8-adc1-1f1d8d5b70d2
|
||||
- 파라미터 타입은 정수형(Int, Int8, UInt 등등)뿐 아니라 {{c1 실수형(Double, Float)}}도 가능하다.
|
||||
id:: 6960b6dc-ce22-47fb-9d7c-2615053e8abd
|
||||
- stride(from: **a**, to: **b**, by: **c**) 의 의미는?
|
||||
id:: 6960b6af-74bd-43cc-9124-eb59c73027d2
|
||||
:-> a부터 시작해서 b까지 c 간격으로 시퀀스를 생성함(이때 b는 포함되지 않음)
|
||||
- stride(from: **a**, through: **b**, by: **c**) 의 의미는?
|
||||
id:: 6960b79d-7044-4c17-953e-8e2eac6470f9
|
||||
:-> a부터 시작해서 b까지 c 간격으로 시퀀스를 생성함(이때 b도 포함됨.)
|
||||
- **예제코드**
|
||||
- 0부터 1 사이를 0.1간격으로 나눈 배열을 생성하라.(0은 포함하지 않는다) #card
|
||||
id:: 6960b85a-b8e7-4a8b-a5b6-e5087647bfc7
|
||||
- ```swift
|
||||
var arr = stride(from:1.0, to: 0.0, by: -0.1).map{$0}
|
||||
var arr = Array(stride(from:1.0, to: 0.0, by: -0.1))
|
||||
```
|
||||
- 0부터 20까지 4의 간격으로 포함하는 배열을 생성하라(20은 포함된다) #card
|
||||
id:: 6960b921-ae3e-4a8a-9430-2d56ec243992
|
||||
- ```swift
|
||||
var arr = stride(from:0, through: 20, by: 4).map{$0}
|
||||
var arr = Array(stride(from:0, through: 20, by: 4))
|
||||
```
|
||||
-
|
||||
- ## **► 고차함수 모음**
|
||||
- ### **◼︎ .map()**
|
||||
- #### **정의** #card
|
||||
|
||||
@ -145,4 +145,5 @@ deck:: Logseq/coding tip
|
||||
if(a.name === b.name) return a.value - b.value;
|
||||
return b.name - a.name;
|
||||
}) // 객체의 이름순 내림차순으로 정렬하고 이름이 같을 경우 값 기준으로 오름차순으로 정렬
|
||||
```
|
||||
```
|
||||
-
|
||||
64
pages/영어기초 30강.md
Normal file
64
pages/영어기초 30강.md
Normal file
@ -0,0 +1,64 @@
|
||||
deck:: Logseq/영어 문법
|
||||
|
||||
- ## **► When**
|
||||
- ### 다음 3개의 문장 중 옳은 문장을 모두 고르면? 그리고 옳지 않다면 왜 옳지 않은지 설명하면?
|
||||
id:: 6960aef3-5e9b-4bd1-8b7d-24e49adecf97
|
||||
① **Do you know the time when the test is going to start?**
|
||||
② **Do you know the time that the test is going to start?**
|
||||
③ **Do you know when the test is going to start?**
|
||||
#card
|
||||
- ①②③ 모두 옳다.
|
||||
- ① : 아주 기본적인 관계부사 문장.
|
||||
- ② : 관계부사 when은 that으로도 쓸 수 있음.
|
||||
#+BEGIN_EXTRA
|
||||
관계대명사, 접속사 that과 구분하기 보다는 해석의 차이를 이해하는 것이 중요.
|
||||
#+END_EXTRA
|
||||
- ③ : 선행사가 특별한 의미가 없는 것(the time)일 경우 생략 할 수 있음.
|
||||
-
|
||||
- ## **► Where**
|
||||
- ### 다음 3개의 문장 중 옳은 문장을 모두 고르면? 그리고 옳지 않다면 왜 옳지 않은지 설명하면?
|
||||
id:: 6a845910-0231-4ab4-88ac-1f6feb3a516c
|
||||
① **This is the place where I worked.**
|
||||
② **This is the place that I worked.**
|
||||
③ **This is where I worked.**
|
||||
#card
|
||||
- ①②③ 모두 옳다.
|
||||
- ① : 아주 기본적인 관계부사 문장.
|
||||
- ② : 관계부사 where은 that으로도 쓸 수 있음.
|
||||
#+BEGIN_EXTRA
|
||||
관계대명사, 접속사 that과 구분하기 보다는 해석의 차이를 이해하는 것이 중요.
|
||||
#+END_EXTRA
|
||||
- ③ : 선행사가 특별한 의미가 없는 것(the place)일 경우 생략 할 수 있음.
|
||||
-
|
||||
- ## **► Why**
|
||||
- ### 다음 문장의 빈 칸에 들어 갈 수 있는 것은?
|
||||
id:: 088a652e-6bcc-4323-b024-0dcea4786ab0
|
||||
**Tell me ( ) your son were absent.**
|
||||
#card
|
||||
- **① : the reason why**
|
||||
extra:: 기본적인 관계부사 형태(선행사 + 관계부사)
|
||||
- **② : the reason**
|
||||
extra:: 선행사만 남기고 why는 생략 가능
|
||||
- **③ : why**
|
||||
extra:: 선행사가 특별한 의미가 없는 것(the reason)일 경우 생략 할 수 있음.
|
||||
-
|
||||
- ## **► How**
|
||||
- ### 다음 문장의 빈 칸에 들어 갈 수 있는 것은?
|
||||
id:: 3ce4a662-2014-4317-b1c7-51f272e332bb
|
||||
**This is ( ) she solved the problem.**
|
||||
#card
|
||||
- **① : how**
|
||||
extra:: 선행사가 방법일 경우의 관계부사 사용
|
||||
- **② : the way**
|
||||
extra:: 선행사만 있고 관계부사는 없음.
|
||||
- **③ : ~~the way how~~**
|
||||
extra:: How의 경우 선행사와 관계부사 둘 중 하나만 써야함! 둘 다 쓸 수 없음.
|
||||
- ### 다음 관계부사 문장을 관계대명사 문장으로 만들어라.
|
||||
id:: 6960b300-1cfb-4a7b-bae5-5c4df25c83f5
|
||||
**This is how she solved the problem.**
|
||||
#card
|
||||
- This is the way **which** she solved the problem **in**.
|
||||
선행사 the way를 기준으로 관계대명사를 넣어서 두 문장을 합침.
|
||||
- This is the way **in which** she solved the problem.
|
||||
관계대명사 that이 아닌 경우 맨 뒤에 전치사만 남을 경우 전치사 앞으로 이동 가능.
|
||||
- This is the way **that** she solved the problem in.
|
||||
@ -26,4 +26,5 @@
|
||||
- [[영어기초 26강]] 타동사 해석 비법
|
||||
- [[영어기초 27강]] 접속사 해석 비법
|
||||
- [[영어기초 28강]] 수동태, 능동태 해석 비법
|
||||
- [[영어기초 29강]] 관계대명사 해석 비법
|
||||
- [[영어기초 29강]] 관계대명사 해석 비법
|
||||
- [[영어기초 30강]] 관계부사 해석 비법
|
||||
44
pages/코딩팁.md
Normal file
44
pages/코딩팁.md
Normal file
@ -0,0 +1,44 @@
|
||||
deck:: Logseq/coding tip
|
||||
|
||||
- ## **► 비트연산 XOR(배타적 논리합)**
|
||||
- **기호** : {{c1 ^}}
|
||||
id:: 6960ba6a-cbcf-48e0-ba15-39f4e3dbc76a
|
||||
- **연산값 :** (0, 0) -> {{c1 0}}, (0, 1) -> {{c1 1}}, (1, 0) -> {{c1 1}}, (1, 1) -> {{c1 0}}
|
||||
extra:: 같으면 0, 다르면 1
|
||||
id:: 6960baa5-ffe5-4782-ad1c-a75e7c3f25e8
|
||||
- **핵심성질 3가지** #card
|
||||
id:: 6960bada-97e7-4f50-8cf7-1d1af57983b2
|
||||
- 같은 값 끼리 연산하면 0이 된다.
|
||||
extra:: a ^ a = 0
|
||||
- 0과 연산하면 자기 자신이 된다.
|
||||
extra:: a ^ 0 = a
|
||||
- 교환법칙, 결합법칙이 성립한다.
|
||||
extra:: a ^ b = b ^ a, (a ^ b) ^ c = a ^ (b ^ c)
|
||||
- **활용**
|
||||
- 임시변수(temp) 없이 두 변수의 값을 swap #card
|
||||
id:: 6960bbba-cf88-4072-ac55-c6edc540749a
|
||||
- ```c
|
||||
int a = 3;
|
||||
int b = 5;
|
||||
|
||||
a = a^b;
|
||||
b = a^b;
|
||||
a = a^b;
|
||||
// a = 5, b = 3
|
||||
```
|
||||
- 중복되는 수들의 배열에서 중복되지 않는 하나의 숫자를 찾을 때
|
||||
- 사용가능한 조건 #card
|
||||
id:: 6960bc58-3189-4ec8-9554-cfa526027fb7
|
||||
- 모든 숫자들 중 단 한개를 제외한 모든 수가 중복되는 수 일 때
|
||||
- 중복되는 숫자들이 각각 짝수개로 존재하고 있으면서 찾으려는 숫자는 1개 혹은 홀수개가 존재할 경우
|
||||
- 다음 코드의 출력결과는?
|
||||
id:: 6960bc99-5059-4e25-bd9f-502967918f5c
|
||||
```c
|
||||
int arr[] = {1, 2, 5, 2, 2, 3, 2, 1, 5};
|
||||
int res = 0;
|
||||
for(int i=0; i<9; i++) res ^= arr[i];
|
||||
printf("%d\n", res);
|
||||
```
|
||||
#card
|
||||
- 3 (9개의 숫자들 중 1은 2개, 2는 4개, 5는 2개, 3은 1개, 따라서 3만 남음)
|
||||
-
|
||||
@ -6,4 +6,4 @@
|
||||
- [[자료구조]]
|
||||
- [[알고리즘]]
|
||||
- [[코딩문제 복습용]]
|
||||
-
|
||||
- [[코딩팁]]
|
||||
@ -1,136 +0,0 @@
|
||||
deck:: Logseq/coding tip
|
||||
|
||||
- ## **파이썬, 자바스크립트 반복문 순회 및 객체/딕셔너리 순회**
|
||||
- ### **► 일반적인 반복가능 객체를 활용한 반복문 순회(기본 순회)**
|
||||
- **● pythron**
|
||||
id:: 684e9cfd-e828-43ac-9f6c-76492bdcf94a
|
||||
- ```python
|
||||
arr = [1,2,3,4,5]
|
||||
|
||||
for i in arr :
|
||||
print(i)
|
||||
|
||||
# 출력
|
||||
# 1 2 3 4 5
|
||||
```
|
||||
-
|
||||
- ### **► 자바스크립트의 객체(Object) 는 파이썬의 딕셔너리(Dictionary)**
|
||||
- **키(key)와 값(value)을 가지는 데이터의 집합(각각의 언어에서 서로 동일하다고 생각해도 무방함)**
|
||||
- **◎ 선언 및 접근방법**
|
||||
- **● pythron**
|
||||
id:: 684e9fb3-3cf0-4fa0-8539-e53bfe7fbcc1
|
||||
- ```python
|
||||
# 빈데이터 초기화 방법
|
||||
dic = {} # dict()
|
||||
|
||||
# 직접 선언 방법
|
||||
dic = {
|
||||
"name": "Yechan",
|
||||
"age" : 30
|
||||
}
|
||||
|
||||
# 출력
|
||||
print(dic["name"])
|
||||
print(dic["age"])
|
||||
# Yechan
|
||||
# 30
|
||||
```
|
||||
- **◎ 키 및 값 순회(반복문 사용, 순서는 보장되지 않음)**
|
||||
- **● pythron**
|
||||
id:: c506e90a-c84b-4498-ba5f-5028f5a874f6
|
||||
- ```python
|
||||
dic = {
|
||||
"name": "Yechan",
|
||||
"age" : 30
|
||||
}
|
||||
|
||||
# key 순회
|
||||
for key in dic :
|
||||
print(dic[key])
|
||||
# Yechan
|
||||
# 30
|
||||
|
||||
# key, value 순회
|
||||
for key, value in dic.items() :
|
||||
print(key, value)
|
||||
# name Yechan
|
||||
# age 30
|
||||
```
|
||||
-
|
||||
- ### **► 파이썬에서 반복가능한 데이터셋의 값과 인덱스를 불러와서 순회하기**
|
||||
- **enumerate()**
|
||||
id:: 6857c511-ce76-4075-ba45-a38956deb7df
|
||||
- 반복가능한 데이터셋의 값과 인덱스를 튜플형태로 반환하는 함수
|
||||
id:: 6857c541-93f0-441f-8ff1-ca3cf8a3b186
|
||||
- ```python
|
||||
arr = ["apple", "banana", "cat"]
|
||||
for i in enumerate(arr) :
|
||||
print(i)
|
||||
# 출력
|
||||
# (0, apple)
|
||||
# (1, banana)
|
||||
# (2, cat)
|
||||
```
|
||||
- 반복문에서 인덱스와 값을 동시에 순회할 수 있음.
|
||||
id:: 6857c6b6-3201-47a1-a090-c0ebe75d5e4c
|
||||
- ```python
|
||||
arr = ["apple", "banana", "cat"]
|
||||
for index, value in enumerate(arr) :
|
||||
print(index, value)
|
||||
# 출력
|
||||
# 0 apple
|
||||
# 1 banana
|
||||
# 2 cat
|
||||
```
|
||||
- 시작 인덱스를 바꿀 수도 있음.
|
||||
id:: 6857c623-b8e4-4325-a8c2-27a9446118bd
|
||||
- ```python
|
||||
arr = ["apple", "banana", "cat"]
|
||||
for index, value in enumerate(arr, start=1) :
|
||||
print(index, value)
|
||||
# 출력
|
||||
# 1 apple
|
||||
# 2 banana
|
||||
# 3 cat
|
||||
```
|
||||
-
|
||||
-
|
||||
-
|
||||
- ## **비트연산 정리**
|
||||
- ### **XOR(배타적 논리합)**
|
||||
- 기호 : ^
|
||||
id:: 684eaf61-54bb-4f69-af87-f75f280bd119
|
||||
- 연산값 : (0,0)->0, (0,1)->1, (1,0)->1, (1,1)->0 [같으면 0, 다르면 1]
|
||||
id:: 684eafb2-7091-4d69-8c3f-0540d687b782
|
||||
- 핵심성질
|
||||
id:: 684eaff6-5a2b-4cdd-ba5d-cba163b087fa
|
||||
- 같은 값끼리 XOR하면 0이 된다: `a ^ a = 0`
|
||||
- 0과 XOR하면 자기 자신이 된다: `a ^ 0 = a`
|
||||
- 교환법칙, 결합법칙이 성립한다: `a ^ b = b ^ a`, `(a ^ b) ^ c = a ^ (b ^ c)`
|
||||
- 활용
|
||||
id:: 684eb038-f987-419b-b531-2b7a868c0842
|
||||
collapsed:: true
|
||||
- 중복되는 여러 수들 중에 단 하나 다른 수를 찾는 방법으로 활용
|
||||
id:: 684eb045-4df8-4943-bdfb-65f983f2704e
|
||||
- 모든 수를 하나하나 xor하면 결국 최종적으로 나오는 결과는 다른 하나가 나옴.
|
||||
- ```C
|
||||
int arr[] = {1, 2, 3, 2, 1};
|
||||
int res = 0;
|
||||
for(int i=0; i<5; i++) res ^= arr[i];
|
||||
// res == 3 (짝이 없는 값)
|
||||
```
|
||||
- 중복되는 수가 홀수개로 짝지어져 있으면 사용할 수 없음
|
||||
- 단 단 하나의 수를 제외한 모든 수가 같은 숫자라면 사용 가능
|
||||
- 임시변수 없이 두 변수의 값을 swap
|
||||
id:: 684eb1a1-f13d-45c3-b03b-da9372da5e7c
|
||||
- XOR 연산의 성질을 잘 응용하면 아래의 코드처럼 두 변수를 교환할 수 있음.
|
||||
- ```C
|
||||
int a = 3;
|
||||
int b = 5;
|
||||
|
||||
a = a ^ b;
|
||||
b = a ^ b;
|
||||
a = a ^ b;
|
||||
// 이제 a=5, b=3 (값이 서로 바뀜)
|
||||
```
|
||||
-
|
||||
@ -1,25 +1,4 @@
|
||||
## **❖ Javascript / Typescript**
|
||||
- ### **► 배열 매서드**
|
||||
- ### **◼︎ Array.slice(start_idx, end_idx)**
|
||||
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); // []
|
||||
```
|
||||
- ## **❖ Python**
|
||||
- ## **❖ C**
|
||||
- ## **❖ Java**
|
||||
- ## **❖ 프로그래밍 관련 이론 정리**
|
||||
## **❖ 프로그래밍 관련 이론 정리**
|
||||
- ### **► 알고리즘**
|
||||
- ### **◼︎ 진수변환 알고리즘**
|
||||
- ◉ **B진수 숫자 N을 10진수로 바꾸기(누적곱)**
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
- [[🔤 영어공부]]
|
||||
- [[👩🏻💻코딩 지식_팁 정리]]
|
||||
- [[👩🏻💻코딩 팁 코드 모음_이전이전]]
|
||||
- [[👩🏻💻코딩 팁 코드 모음_이전]]
|
||||
-
|
||||
- [[💾 template]]
|
||||
Loading…
x
Reference in New Issue
Block a user