핑계대고 싶을 때는
이렇게 빵뎅이를 걷어 차주는 글이 필요하지
오늘은 한 주 동안 다뤘던
코드들을 훑어보는 날이다.
풀이 과정이 흥미로웠거나
풀지 못했거나 했던 어드벤스드 문제들을
어떻게든 씹어본다.
function flattenArr(arr) {
if(arr.length === 0) return []
let result =[]
for(let i=0 ; i < arr.length ; i++) {
if(typeof arr[i] === 'number'){
result = result.concat(arr[i])
}if(Array.isArray(arr[i])){
result = result.concat(flattenArr(arr[i]))
}
}
return result
}
flattenArr를 Three Dots(...)쓰지 않고 concat만으로 풀어보기.
가끔 가다가 const let 구분 않아 에러 내곤 하는데 그러지 말자.
찾아내도 허무하다.
arry.shift()
//배열에서 제일 앞의 있는 요소를 하나 빼낸다.
arry.unshift()
//배열에서 제일 앞에 요소를 삽입한다.
let queue = [];
for(let i = 0; i < bufferSize; i++){
queue.push(0);
}
let currentDocument = documents.shift();
queue.unshift(currentDocument);
queue.pop();
//큐 구현
며칠동안 이렇게 코드를 짜 보니...
개발 일 하던 형 누나들이 왜 그런식으로 사고하는지
이해가 된다.
세상 답답했지만 차근차근 밟아 나가고,
빠르게 훑어볼 줄 몰랐지만 한 번 읽은 것은
반드시 자기 것으로 만들었던 그들이
왜 그럴 수 밖에 없었는지를 생각해 본다.
요령 없다 생각했던 사람들이 갑자기 선배님들이 된 지금ㅋㅋㅋ
내가 가진 장점이 단점이 되어버린 지금 많은 습관을 고쳐야 하는데 쉽지 않다.
넓고 얕게 보는 것 보다 좁고 깊게 보는 것을 요즘의 숙제들이 요구한다.
아직 명확하지 않다.
내 5개월 뒤의 모습이 성공적으로 과정을 끝낸 후의 모습일지.
아니면 맞지 않은 옷을 억지로 입고 허덕거릴지.
어쩌면
그림 그리는 것과 크게 다르지 않다.
공간을 채우고 난 후에는 반드시
그 어떤 가치가 보일 것이라는 기대가
그림과 코딩이 다르지 않음을 말 해 주고 있다.
다만 곧은 선을 긋기 위해 수십장에 선을 그었듯
수 많은 페이지에 남겨야 할 코드는 힘겨운 숙제다.
너가 선택한 길이다.
기꺼이 고생하자.
샤라웃 감사합니다 하핫