3월 5일 공부일기#

이건우·2021년 3월 5일
0

TiL

목록 보기
5/72

알고리즘 , 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. 그리고 해당배열을 리턴..
profile
내가 느낌만알고 한줄도 설명할줄 모른다면 '모르는 것'이다.

0개의 댓글