목록✏️ 2022. TIL/September (8)
Daehyunii's Dev-blog

데브코스 코딩테스트에 합격하고 마지막 관문인 면접을 준비하기 위해서 일주일 동안 나름대로 치열하게 준비를 해왔었다. 예상 질문들을 계속해서 만들고 기술 면접에 대비하기 위해서 계속해서 복습했다. 그 결과 ㅎㅎㅎㅎ 합격이다!!! 이제는 새로운 시작이다!!! 새로운 사람들과 만나서 같은 목표를 가지고 함께 공부해 나간다는 생각에 지금 너무 기대가 크다!! 앞으로 5개월 동안 또 죽어라 공부해야 겠지만, 그래도 함께하는 사람들이 있기에 힘이 날 것 같다!!! 자세한 내용들은 면접준비 과정 및 후기에 자세하게 작성했다. 지금까지 데브코스 과정을 준비하면서 블로그 정리할 정신이 없었는데, 이제는 다시 매일 공부한 내용들을 조금씩 정리해 나갈 계획이다! 2022.10.05 - [2022 WIL 및 느낀점/프로그래머..

그 동안 프로그래머스 코딩테스트에 집중하기 위해서 알고리즘 문제푸는 연습 외에는 블로그를 포함해서 모든것을 기록하지 않았었다. 그 기간동안의 내용은 프로그래머스 데브코스 코딩테스트 회고를 통해서 한 번에 정리하고자 한다! 2022.09.21 - [2022 WIL 및 느낀점/9월 & 10월] - 총 준비기간 8.1 ~ 9.16 총 준비기간 8.1 ~ 9.16 데브코스 코딩테스트 회고 개발자 공부를 시작한지 약 4개월 정도 지났다. 3개월이 넘어가는 시점에서는 부트캠프에 참여하는 방향이 좋을것이라고 생각되어 부트캠프를 알아 보았고, 그 중 pinetree93.tistory.com

오늘로 알고리즘 기초문제풀이 강의를 다 듣게 되었다. 재귀함수에 들어가기 전까지는 강의 내용의 90%는 이해하고 넘어갔다면 재귀함수 이후부터는 50%도 제대로 이해하기 힘들었던것 같다. 그래도 계속해서 붙잡고 있는 것보다는 빠르게 한 바퀴를 돌고 두 번 세 번 반복하는것이 더 공부하기 좋은 방법일 것이라고 생각해서 어느정도 이해했다면 길게 끌지 않고 넘어갔다. DFS와 BFS의 개념자체가 어려운것은 아니었지만 이를 코드로 구현하는게 굉장히 어려웠다. 단순하게 탐색만을 하는것이라면 이해하고 외우면 되겠지만 완벽하게 메커니즘을 이해하지 못하면 조금만 문제가 뒤틀려도 풀 수 없을것 같아서 우선 최대한 이해하는데 집중하려고 노력했다. 지금 당장은 전체 강의 중에 70% 정도만 정확히 공부하고 뒤에 30%는 제대..

오늘은 재귀함수 이진 트리 검색 방법으로 DFS 탐색 방법 그리고 중복 순열과 순열 구하기 문제 등에 대해서 배웠다. 즉, 재귀와 재귀를 활용한 DFS에 대해서 공부했다. 재귀함수 개념에 대해서는 모던 자바스크립트와 그 전에 들었던 여러 강의들에 의해서 정확하게 인지하고 있다. 함수가 자기 자신을 호출하는 것이고 또 콜 스택에 대해서도 알고 있기 때문에 어떻게 처리가 되는지도 알고 있어서 어렵지 않게 접근할 수 있을 것이라고 생각했다. 하지만,,, 현실은 달랐다. 계속해서 재귀를 타고 따라 들어가면서 생각을 아무리 하려고 노력해도 머릿속에 아예 그릴 수 없었다. 그래서 시간이 오래 걸렸지만 하나 하나 값을 변경해 가면서 따라가려고 노력했다. 이렇게 접근하는 것 마저도 쉽지는 않았다. 그래서 오늘은 우선 ..

오늘은 탐욕 알고리즘, 이분 검색, 이분 검색을 활용한 결정 알고리즘과 관련된 문제들을 풀었다. 탐욕 알고리즘이란 미래를 생각하지 않고 각 단계에서 최선의 선택을 하는 알고리즘을 말한다. 그렇기 때문에 최선을 선택을 위해 주어진 정보들을 잘 정렬하여 이를 활용할 필요가 있다. 탐욕 알고리즘에서 느낀점은 원하는 답을 찾기 위해서 문제를 잘 분석할 필요가 있다는 것이다. 회의실 배정 문제를 살펴보면 끝나는 가장 이른 시간에 끝나는 회의는 무조건 가장 빨리 끝나는 회의이기 때문에 반드시 들어가게 된다는 것만 알더라도 문제를 해결하는데 한결 수월해 진다. 이처럼 주어진 정보들을 잘 정렬하고 비교해야 하는 값들을 명확하게 구분한 후 코드를 작성해야 할 것 같다. 그리고 이분 검색의 경우에는 말 그대로 해당 값들의..

오늘은 선택 정렬과 버블 정렬 그리고 삽입 정렬 알고리즘 문제를 해결하는 방법에 대해서 공부했다. 주어진 전체 값들 중에서 가장 작은 값 혹은 큰 값을 선택해서 하나 하나 정렬시키는 방식이고, 버블 정렬은 인접한 두개의 값들을 연속적으로 계속해서 비교하여 가장 좌측 혹은 우측에 하나씩 정렬해 나가는 방식이다. 그리고 정렬 중 가장 어렵게 느껴졌던 방법은 바로 삽입 정렬이다. 삽입 정렬은 가장 좌측을 정렬이 되어 있는 것으로 간주하고 정렬된 값 뒤의 값들을 앞에 정렬된 값들과 비교하여 정렬된 위치에 들어가는 방식인다. 이 또한 개념적인 부분 보다는 코드를 구현하는 방법이 어려웠다. 선택 정렬과 버블 정렬은 단순히 비교하면서 바로 바로 정렬이 이뤄지지만 삽입 정렬의 경우에는 원하는 위치에 값을 삽입하기 위해..

오늘은 자료구조인 스택과 큐에 대해서 공부했다. 스택은 후입선출 구조의 자료구조이고 큐는 선입선출 구조의 자료구조이다. 스택과 큐는 모두 추상적인 개념이기 때문에 이를 구현하는 방법은 여러가지가 있다. 하지만 알고리즘 문제를 푸는데 있어서는 배열을 활용해서 스택과 큐 자료구조로 활용하면 된다. 스택의 경우에는 push,pop메서드를 활용하면 되고 큐의 경우에는 unshift,pop / push,shift 메서드를 활용하면 된다. 개념적으로 확실히 인지를 하고 있어서 그런지 오늘 공부한 내용에서 스택과 큐 자체는 어렵지 않았다. 하지만 오늘도 역시나 문제를 풀때 어떤 자료를 스택이나 큐에 넣어야 하고 언제 스택과 큐에서 자료를 빼내서 활용해야 할 지 모르는 경우가 많았다. 물론 한 번 해결 방법을 듣고 난..

오늘은 슬라이딩 윈도우와 해쉬 자료 구조에 대해서 공부했다. 슬라이딩 윈도우와 해쉬 자료 구조는 이전의 강의를 통해 개념적으로는 익히 알고 있었다. 슬라이딩 윈도우는 말 그대로 창문을 하나 만들어 그 창문을 밀고 나가면서 검색하는 방법을 말하는 추상적인 개념이다. 이를 구현하는 방법은 여러 방법을 활용할 수 있다. 또 해쉬 자료 구조는 키와 값을 쌍으로 갖는 자료구조를 말하고 이전까지는 객체를 활용해서 많이 구현하였다면 오늘은 map 객체를 활용해서 코드를 구현하였다. 맵과 일반 객체와의 차이점은 일반 객체는 문자열과 심벌 값만 객체의 키로 갖을 수 있지만 맵의 경우에는 프로퍼티 키로 모든 값을 사용할 수 있다는 차이점이 있다. 또 맵 객체는 일반 객체와 메서드들 명칭이 약간씩 차이가 있었다. 오늘 ..