알고리즘 , Tree, 데이터분석구조..,
너무 힘들다. 하지만 이 힘들어함을 즐겨야할줄알아야한다.
일단오늘 연구했던 의사코드정도는 적어보자 . 내가 너무 급해서 그런것같다...
일단 자주 화장실을 가지말아야겠다. 내일은 그것이 목표다. 자리에 무조건 두시간 세시간이상 앉아있도록해보자.
지정된시간외에...
bufferSize capacities documents
[] [0,0] [7,4,5,6]
1 [] [0,7] [4,5,6]
2 [] [7,0] [4,5,6]
3 [7] [0,4] [5,6]
4 [7] [4,5] [6]
5 [7,4] [5,0] [6]
6 [7,4,5] [0,6] []
7 [7,4,5] [6,0] []
8 [7,4,5,6] [0,0] []
shift만됨. shift,
push
1초가 지났다. documents에서 shift를 해주고 capacities에 push 해주면서 capacities는 시프트를 해준다.
시계태엽이 생각났다. 맞물리고 맞물리고 맞물려서 저게 작동.
1초를 어떻게 흐르게하지 ? 곰곰하게 생각하다가.. 오피스아워왔습니다 ㅎㅎ.. 그래도 전에 설명해주신덕분에 로직은 이렇다는것은 알게되었습니다만
역시 잘 손으로 쓰기가 힘드네요..
수도코드
// 1. arr[0] 첫번째 값 7을 제외한 나머지 값을 순회한다.
// 2 순회했을때 arr[0]인 7과 arr[1]인 arr[i] 와 값의 크기를 비교한다.
// 3. 만약 arr[0] 이 arr[i]보다 작다면.. , count =1 을주고 , 새로 선언한 result 빈배열에 result.push(count)를 해준다.
// 4. 하지만 만약 arr[0]이 arr[i]보다 크다면, count=2 를 주고, 그 다음 arr[2]와 비교하여 또 arr[0]이 arr[2]보다 크다면 1을 더 추가해준다.
// 5. 결국 arr[0]보다 큰 arr[i]의 요소가 나오면 count를 멈추고, result.push(count)를 해준다.
// 6. arr[i]를 arr[0]대신 비교 뒤에 또 순회 없으면 그대로 count=1 을 해주고 result.push(count)를 해준다.
// 7. 그리고 해당배열을 리턴..