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 | 31 |
Tags
- javascript
- 개발콘텐츠
- React Native
- 레이아웃쪼개기
- returnType
- JS console
- Chart.js
- utilty type
- reactjs
- 티스토리꾸미기
- 커스텀
- React.js
- 리액트
- 공통컴포넌트
- 제네릭
- 2022
- 폰트적용하기
- 누구나 자료구조와 알고리즘
- 타입좁히기
- TSDoc
- 타입스크립트
- 성능최적화
- react
- NonNullable
- 반복줄이기
- vue.js
- CSS
- typescript
- click and drag
- const 단언문
Archives
- Today
- Total
몽땅뚝딱 개발자
[프로그래머스 | Javascript] Lv.1 동영상 재생기 본문
처음 구구절절 Date로 풀다가 테스트케이스 3번이 해결되지않아서 힌트를 봤더니 prev를 한 뒤 현재 이동한 시간이 오프닝 시간 내에 있는지 검사했어야 헸다. Date로 하다보니 너무 코드가 구구절절했지만 푼게 아까워서 집착하다가.... 결국 버리고 새롭게 품..^0 ^
const prev = (time) => {
time -= 10
return time < 0 ? 0 : time
}
const next = (time, videoLength) => {
time += 10
return time > videoLength ? videoLength : time
}
const checkOpeningTime = (time, openingStartTime, openingEndTime) => {
return time >= openingStartTime && time <= openingEndTime ? openingEndTime : time
}
const getTotalSeconds = (str) => {
const [mm, ss] = str.split(':')
return mm * 60 + ss * 1
}
const solution = (video_len, pos, op_start, op_end, commands) => {
const videoLength = getTotalSeconds(video_len)
const openingStartTime = getTotalSeconds(op_start)
const openingEndTime = getTotalSeconds(op_end)
let positionTime = getTotalSeconds(pos)
commands.forEach((command) => {
positionTime = checkOpeningTime(positionTime, openingStartTime, openingEndTime)
if (command === 'next') {
positionTime = next(positionTime, videoLength)
} else {
positionTime = prev(positionTime)
}
})
positionTime = checkOpeningTime(positionTime, openingStartTime, openingEndTime)
return `${String(parseInt(positionTime / 60)).padStart(2, '0')}:${String(positionTime % 60).padStart(2, '0')}`
}
'Development > 알고리즘' 카테고리의 다른 글
[프로그래머스 | Javascript] Lv.1 키패드 누르기 (1) | 2024.12.02 |
---|---|
[프로그래머스 | Javascript] Lv.1 기사단원의 무기 (0) | 2024.11.25 |
[프로그래머스 | Javascript] Lv.1 모의고사 (0) | 2024.11.25 |
📔 [스터디] 학습노트 - Heap (0) | 2024.01.21 |
[프로그래머스 | Javascript] Lv.3 이중순위우선큐 (0) | 2024.01.21 |
Comments