일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 레이아웃쪼개기
- const 단언문
- typescript
- 공통컴포넌트
- 커스텀
- 타입스크립트
- utilty type
- 타입좁히기
- JS console
- TSDoc
- 리액트
- reactjs
- javascript
- React.js
- 폰트적용하기
- 제네릭
- click and drag
- CSS
- react
- 티스토리꾸미기
- 성능최적화
- React Native
- 개발콘텐츠
- returnType
- NonNullable
- 누구나 자료구조와 알고리즘
- 반복줄이기
- 2022
- Chart.js
- vue.js
- Today
- Total
목록2024/12/02 (2)
몽땅뚝딱 개발자
처음에 읽자마자 "이건 트리다!"라고 당당하게 생각한 뒤 코드를 짰다. 그런데.. 최소경로를 구하기위해 DFS로 접근하려고보니 트리라는 자료구조가 이 문제와 맞지 않다는 판단이 들었다. 더 정리를 해보자면 단순히 부모-자식 관계를 갖고있고 노드를 순차적으로 방문할 수 있다는 사실 하나로 트리로 접근했지만... 상위 부모가 하나인 트리가 이상해보였다. 그리고 키패드 구조상 트리처럼 단방향이 아닌 서로 연결될 수 있는 양방향 연결이 가능하고 싸이클이 존재하는 자료구조가 필요하다는 사실을 깨닫는다. 예전에 공부했던 자료구조 책을 펼쳐보고 '이건 그래프로 풀어야 하는거구나' 이마를 탁 치고 그래프로 접근했다. (조금 성장한 듯..) 그래프에 대해 공부하며 맨해튼 거리에 대해서도 알게됐다. 알고리즘 넘 재밌어....
처음 구구절절 Date로 풀다가 테스트케이스 3번이 해결되지않아서 힌트를 봤더니 prev를 한 뒤 현재 이동한 시간이 오프닝 시간 내에 있는지 검사했어야 헸다. Date로 하다보니 너무 코드가 구구절절했지만 푼게 아까워서 집착하다가.... 결국 버리고 새롭게 품..^0 ^ const prev = (time) => { time -= 10 return time { time += 10 return time > videoLength ? videoLength : time}const checkOpeningTime = (time, openingStartTime, openingEndTime) => { return time >= openingStartTime && time { const [mm, ss] ..