23.09.22 프론트엔드 데브코스 성장 기록

📚 오늘 공부한 것

  • 자료구조와 알고리즘이 중요한 이유
  • 자료구조의 종류
  • 시간 복잡도
  • 배열
  • 연결 리스트
  • 스택
  • 실습-올바른 괄호

+ 스택 js문제풀이 / 파이썬 알고리즘 문제풀이

새롭게 알게된 것 😮

처음 프로그래밍을 배울 때 자료구조를 C언어를 사용해서 배우고 구현해봤었는데, 자바스크립트로도 구현해 볼 수 있었다.

  • 성능 측정방법 in JS
const start = new Date().getTime();

// ...로직

const end = new Date().getTime();

console.log(end - start)
  • 자바스크립트에서 false인것
    false, undefiend, null, 0 , NaN, “”(빈 string)

어려웠던 점 😵‍💫

  • 빈 배열은 조건문에서 true이다!!!
if([]){
  //실행이 됩니다
}

빈배열인지 여부에 대해 조건을 분기하려면?? -> 배열의 경우 length 메소드를 사용하자!!

    let stack = []
    for (let i =0 ; i<s.length; i++){
        if (s[i] === '('){
            stack.push(s[i])
        }else{
            if (stack.length !=0){
                stack.pop()
            } else{
                return false
            }
        }
    }
    return stack.length === 0
}

스택 변형

    let cnt =0
    for (let i =0 ; i<s.length; i++){
        if (s[i] === '('){
            cnt += 1
        }else{
            if (cnt == 0){
                return false
            } else{
                cnt -=1
            }
        }
    }
    return cnt ===0
}```


회고 🤓

Keep

강의는 대학교 전공수업에 들었던 부분 + js로 복습이어서 의미있었다.

Problem

js문제풀이에서 이상하게 막혀서 시간이 많이 들었는데 결론적으로 제출에 무언가 오류가 있는 듯 했다. 그래도 그 과정 중에 팀원들에게도 물어보고 더 찾아보면서 배운게 많아서 의미있었다.

Try

코테 문제를 풀기 시작했는데 오늘 도움을 주고 받은 것 처럼 코드 리뷰를 적극적으로 활용했으면 좋겠다!

profile
코딩하는 고구마 🍠 Life begins at the end of your comfort zone

0개의 댓글