HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
📝
학습 TIL
/
😃
[TIL] 데브코스 7일차
😃

[TIL] 데브코스 7일차

Date
Mar 29, 2022
대주제
TIL
주제
백트래킹
N-Queen
활동 기록

오늘 배운 것

📝
7 일차 배운 것 정리
  • 백트래킹 (포스팅✏️)
  • 클린코드js-배열다루기
 

어려웠던 내용

  • 여행경로 문제 중 stack과 queue를 문제에 적용하여 사용하면 조금 더 쉽게 접근할 수 있었을텐데, 일반적인 배열과 객체형식으로만 접근하려고 한 부분
  • N-Queen 문제 해설 중, 2차원의 체스판(board)를 1차원으로 옮겨 board[row] = col 과 같은 방식으로 처리하는 것

궁금한 내용 / 부족한내용 🤔

  • 백트래킹의 핵심은 결국 가지치기 이구나!

느낀점

  • N-Queen 한 문제를 이해하고, 내가 생각한 로직으로 풀어내는 데 4시간을 사용했다. (2차원배열사용) 심지어 중간 로직은 모순이 발견되어, 임시적으로 땜빵(?)처리를 하며 구현해냈다. 결국 통과하기는 했지만, 내 코드에 당당할 수 없었고, 해답을 찾아보니 체스판을 2차원이 아닌 1차원으로 board[row] = col 방식으로 손쉽게 풀 수 있던 문제였다. ’참 허무하기도하고, 나는 저 방식을 떠올릴 수 없었을거야, 내가 한 방법도 충분히 잘했어' 라고 생각하는 동시에 ‘이 생각이 참 위험하구나' 라는 생각도 들었다. 내 부족함을 내가 투자한 시간으로 합리화하고 있다고 생각했다. 돌이켜 생각해보면, 처음 모순이 된 로직이 발견되었을 때, 땜빵으로 어떻게든 특정 상황을 처리하는 것이 아니라 더 나은 올바른 방법을 찾는 것에 시간을 투자했어야 했다. 그 동안의 나의 태도를 조금이나마 돌아보게 되었고, 오늘 투자한 4시간이 훨씬 더 값진 개발자로 성장하는데 유용한 시간이 되도록 되새겨야겠다.
 
 

참고

[알고리즘] 되추적(Backtracking)을 알아보자.
오늘의 주제는 되추적(Backtracking) 이다. 저번 포스팅인 깊이우선탐색(Depth-First Search)과 넓이우선탐색(Breath-First Search)의 몸풀기를 거치고 최단경로(Shortest Path) 알고리즘에 들어가는 첫 걸음이라고 생각하고 가벼운 마음으로 읽어보면 되겠다. 우선 되추적(Backtracking)이 뭔지부터 알아보자. 『 퇴각검색(영어: backtracking, 한글: 백트래킹)은 한정 조건을 가진 문제를 풀려는 전략이다. "퇴각검색(backtrack)"이란 용어는 1950년대의 미국 수학자 D. H. 레머가 지었다.
[알고리즘] 되추적(Backtracking)을 알아보자.
https://idea-sketch.tistory.com/29
[알고리즘] 되추적(Backtracking)을 알아보자.