일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- autosize
- map
- 반공변성
- tailwind
- recoil
- webpack
- CORS
- Promise
- 호이스팅
- 인터섹션
- 무한 스크롤
- useAppDispatch
- ESlint
- Jest
- app router
- 공변성
- 투포인터
- React
- 리터럴 타입
- Cypress
- CI/CD
- 결정 알고리즘
- RTK Query
- SSR
- 태그된 유니온
- async/await
- 이분 검색
- TS
- 타입 좁히기
- dfs
Archives
- Today
- Total
목록이분 검색 (2)
짧은코딩
마구간 정하기(결정 알고리즘), 이분검색
코드 function solution(c, stable) { let answer; stable.sort((a, b) => a - b); let lt = 1, rt = stable.slice(-1)[0]; while (lt = ep + mid) { count++; ep = stable[i]; } } if (count >= c) { answer = mid; lt = mid + 1; } else rt = mid - 1; } return answer; } 풀이 방법 이 문제도 이분검색으로 풀어야하는 문제이다. -lt, rt의 정의 두 말 사이의 거리는 [1, 가장 큰 마구간의 좌표]이다. 배열에서 가장 작은 값이 100이어도 다음 숫자는 101부터 올 수 있기 때문에 두 말 사이의 최소값은 1이다. 따라서 lt..
코딩테스트 with JS/자바스크립트 알고리즘 문제풀이(인프런)
2022. 12. 15. 20:11
뮤직비디오(결정 알고리즘), 이분검색
코드 function count(songs, mid) { let album = 1, sum = 0; for (let x of songs) { if (sum + x > mid) { album++; sum = x; } else sum += x; } return album; } function solution(m, songs) { let answer; let lt = Math.max(...songs), rt = songs.reduce((a, b) => a + b, 0); while (lt
코딩테스트 with JS/자바스크립트 알고리즘 문제풀이(인프런)
2022. 12. 13. 23:50