TIL 20-12-16

박한솔·2020년 12월 16일
0

오늘의 느낌

Immersive 과정의 첫 HA가 끝났다. TOY Problem과 Sprint, 그리고 HA까지 끝내고 내린 결론은 재귀, 시간복잡도 엄청 공부해야겠다는 생각뿐이다. 으으...아무리 해도 재귀는 한동안 내게 주어진 숙제라고 생각한다. 이번 주말의 과제는 n queens 시간복잡도 해결과 팀원이 작성해주셨던 멋진 재귀문장을 내것으로 만드는 것이다.
내가 문제를 풀고 과정을 진행하면서 느꼈던 것은 나는 참 주석을 달지 않는다는 것이었다. 그래서 오늘 ha에서는 내가 해본 모든 결과를 다 주석으로 달면서 고민해보는 시간을 충분히 가졌다. 무엇인가 좀 더 구조적으로 파고드는 느낌이 들어서 마음이 한결 가벼워졌다. 앞으로 무엇이든 종이로 쓰거나 직접 주석을 달아보면서 구조를 짜보는 연습을 쉬지않고 해야 할것 같다.

간단하게 재귀를 복습하고자 코드 하나를 작성해보았다.

let a = [1,2,3,4,,[5,6],7,[8,[9,10]]]
//이 뒤죽박죽한 배열을 하나로 통일하여 string값으로 합쳐보았다.

function recursion(arr){
 let newarr = []  
 for (let el of arr){ 
        if (Array.isArray(el)){ // 만약 배열이라면?
            let recur = recursion(el);
            newarr.push(...recur); // 배열을 펴준다.
        }else if(el){//배열이 아니거나 undefined가 아니라면
            newarr.push(el)//그대로 넣어준다.
        }
 }
  //만들어진 배열을 string으로 합쳐준다.
return newarr.reduce((a,b) => String(a)+ String(b))
}
profile
치열하게, 하지만 즐겁게

0개의 댓글