본문 바로가기

전체 글38

TIL 2021/06/22 16일차 백트래킹 (퇴각 검색) 길을 가다가 이 길이 아닌 것 같으면 왔던 길로 되돌아가 다른 경로로 진행 보통 재귀 로 구현하며 조건이 맞지 않으면 종료한다. DFS(깊이 우선 탐색) 기반 코드구현 n, m = list(map(int,input().split())) stack = [] def dfs(start): if len(stack) == m: print(' '.join(map(str, stack))) return for i in range(start, n+1): if i not in stack: stack.append(i) dfs(i + 1) stack.pop() dfs(1) 백준 15649번 N과 M 문제의 코드이다. 자연수 N과 M이 주어졌을 때, 1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수.. 2021. 6. 22.
TIL 2021/06/22 15일차 DFS 원소를 최대한 깊게 따라가며 탐색하는 방법 즉, 인접한 노드 중 방문하지 않은 모든 노드들을 저장해두고, 가장 마지막에 넣은 노드들만 꺼내서 탐색하면 됨 가장 마지막에 넣은 노드들? → 스택을 이용하여 DFS를 재귀 없이 구현할 수 있다. 구현방법 루트 노드를 스택에 넣는다. 현재 스택의 노드를 빼서 visited에 추가한다. 현재 방문한 노드와 인접한 노드 중 방문하지 않은 노드를 스택에 추가한다. 2부터 반복한다. 스택이 비면 탐색을 종료한다. 코드 구현 def dfs_stack(adjacent_graph, start_node): stack = [start_node] visited = [] while stack: current_node = stack.pop() visited.append(cur.. 2021. 6. 22.
WIL 2주차 회고 2주차 회고 알고리즘을 풀어냈던 시간들 1~2일차에는 알고리즘 문제를 보는것만으로 끔찍했다. 숨이 턱턱 막히고 파이썬으로 입력값을 받는 것 조차 몰랐다. 그러한 기본도 모르는 상태에서 문제를 풀어나가다 보니 더욱 어려웠다. 하지만 시간이 지날수록 확실히 문제해결이 늘어나는 부분은 있었다. 어느새 '하' 문제는 스스로의 힘으로 해결해 나갔고(물론 몇문제는 아직도 못풀었다), '중하' '중'문제도 도전할 힘이 생겼다고 해야하나? 물론 알고리즘 특강과 여러 시간을 통해 문제해결을 위한 도움을 많이 받았다. 너무 많은 시간을 한 문제에 투자하지 않고 20~30분동안 해결이 안된다면 답을 찾아보고 그 방법을 공부해 나가는 방법을 선택했다. 더욱 속도가 향상됐고 튜터님 말.. 2021. 6. 20.
TIL 2021/06/18~2021/06/19 12~13일차 주특기 선택 면담 자바를 공부한 것을 스스로 테스트 해보는것이 좋다. 책 추천 : http://ebook.insightbook.co.kr/book/45 스프링 같은 경우는 전공자들이 많이 선택을 한다. 스프링이라는 프레임워크 자체가 큰 시스템을 만들기 위한것이기 때문에 패러다임을 이해하면서 큰 모듈을 확인한다. 노드 같은 경우는 스타트업에서 처리 속도가 빠르기 때문에 많이 사용 스프링은 대체로 전공자들이 많다. 공고를 분석해보자. 어떠한 기술스택을 요구하는지. 본인 스스로에게 주특기를 맞춰보자. 커피챗 = 원하는 스타트업 기업이 있다면 먼저 연락을 취해보자. 2021. 6. 20.
TIL 2021/06/17 11일차 아파트 단수. 오늘 아침부터 저녁까지 아파트 단수 운동후 바로 스터디카페에서 진행했다 지인의 예창패 제안 지인분께서 예창패를 통과해서 현재 내가 진행하는 부트캠프가 끝나면 같이 일을 하자는 제안을 받았었다. 하지만 고민해본 결과 너무 걸리는 점이 많았고, 현재 나에겐 저런걸로 고민할 시간조차 없다. 현재의 일정에 집중하자. 소수찾기 에라토스테네스의 체 백준 1929번에서 상당히 애를 먹었다. 에라토스테네스의 체라는 방법을 완전히 익혀야 겠다. 내일 오전엔 비슷한 유형의 문제들을 먼저 풀어보고 방법을 익히자..! 2021. 6. 18.
TIL 2021/06/16 10일차 오늘의 알고리즘 후기 입력값 구현은 익숙해졌다 노트에 규칙을 찾거나 문제를 이해하며 정리하고 풀어보니 훨씬 수월해짐을 느낌 그래도 아직 어 렵 다 ! ! ! 난 알불구자 node.js 주특기 QnA 주특기를 스프링과 노드중에서 고민중이다.. 사실 올해 독학으로 java만 공부했기 때문에 스프링을 선택하려고 했으나 오늘 QnA를 듣고 마음이 흔들린다. 스프링은 워낙 어렵다고 소문이 자자하기 때문.. 그러나 기본 언어 문법을 알고 있다는 점에서 스프링이 강점이 있지 않나 싶다 내일은 스프링 QnA가 있으니 내일도 고민해보자 2021. 6. 17.