Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- device in use
- vercel git lfs
- animation
- silent printing
- npm package
- Can't resolve
- react-native-dotenv
- camera access
- rolldown
- Git
- dvh
- 티스토리 성능
- adb pair
- Recoil
- camera permission
- Failed to compiled
- github pdf
- 이미지 데이터 타입
- github 100mb
- html
- custom printing
- adb connect
- augmentedDevice
- github lfs
- ffi-napi
- ELECTRON
- electron-packager
- react-native
- nextjs
- Each child in a list should have a unique "key" prop.
Archives
- Today
- Total
Bleeding edge
2022/11/07 - 분할정복 본문
1. 분할정복
백준의 색종이 만들기와 같이 조건에 성립하면, 조건에 맞게 분할하여 풀이하는 문제에 일정한 패턴이 있었다. 문제를 한번이라도 풀어봤으면 간단하게 풀 수 있는 문제였지만, 안풀었을 때는 생각이 생각보다 많이 걸렸었던 문제라 정리를 하려고 한다.
const something=() =>{}
const isIt=() =>{}
const recur =(size,x,y)=>{
for(let i=0;i<size;i++){
for(let j=0;j<size;j++){
something()
}
}
if(!isIt()){
recur(size/n, x,y)
recur(size/n, x+size/n,y)
//....
recur(size/n, x+size*(n-1)/n, x+size*(n-1)/n)
}
}
Arguments로 size와 x, y를 가진다. size는 지속적으로 작아지고, x는 분할한 위치 시작점을 정한다. 그리고 처음 위치부터 끝 위치까지 돌면서 조건(something)이 맞지 않으면, 그 범위 내에서 재귀 함수를 실행하는 것을 부분적으로 나눠서 사용한다.
2. split & to Number
string.split(" ").map(str=>+str)
이전에 이 방법으로 흔히 string을 number로 변환을 하였는데 생각보다 가독성이 안좋다고 생각을 했는데, 개선하는 방법이 다음과 같이 있었다.
'ConnecTo' 카테고리의 다른 글
2022/11/09 - Hook (0) | 2022.11.09 |
---|---|
2022/11/08 - Jest 사용법 (0) | 2022.11.08 |
2022/11/04 - TIL (0) | 2022.11.04 |
2022/11/03 - TIL (0) | 2022.11.03 |
2022/11/02 - TIL (0) | 2022.11.02 |