목록2024/08 (20)
Nonamed Develog
어떤 문제가 있었나?지난주 스쿼드 3 알고리즘을 따라가기가 생각보다 벅차다 보니, 주요 내용인 그래프와 BFS, DFS에 집중하여 학습했다. 그래서인지 BFS 관련 문제를 풀 때, 지난주 스쿼드에서 살짝 언급된 deque를 사용하지 못해 찜찜함을 남기곤 했다. 풀이에 지장이 가진 않았지만 다양한 방법으로 풀기 위해서는 꼭 정리를 하고 가야겠다는 생각이 들었다.무엇을 시도했나?먼저 튜터님이 지난 스쿼드 세션에서 살짝 언급하신 원형 큐(Circular Queue)와 데크(deque) 필기를 보면서 정리하고, 추가 교재로 관련 부분을 복습했다. 마무리고 BFS 관련 문제를 풀어 내가 얼마큼 이해했는지 확인해 봤다.어떻게 해결됐는가?백준 2606번: 바이러스 문제를 BFS를 이용하여 풀어봤다. DFS로만 문제를..
FACTS(사실, 객관): 이번 일주일 동안 있었던 일, 내가 한 일코드카타(프로그래머스, 백준)CS 기초(CS 골든벨 준비)스쿼드 세션 복습(알고리즘)파이썬 알고리즘 인터뷰(자료구조)FEELING(느낌, 주관): 나의 감정, 반응, 느낌이론 공부할 때는 쉽다고 느끼고, 문제를 풀 때는 어려워 머리에 과부하가 오는 패턴이 반복되다 보니 점점 흥미를 잃어 가고 있었다. 재밌지만 고통스러운... 심연의 변태 성향을 이끌어 내는 알고리즘과의 한 주였다.또한 어디까지 공부해야하는지 감이 오지 않았다. CS나 SQL을 공부하는데 얼마큼 깊게 공부해야 하는지 몰라서 건들지도 못했다. 물론 알고리즘도 마찬가지다. 따라서 주말동안 내가 "어떤" 개발자가 될 것인지, "무엇을 할" 개발자가 될 것인지 하는 고민을 해봤다..
어떤 문제가 있었나?1. 입력백준 1260: DFS와 BFS 문제를 활용하여 DFS, BFS를 구현해 봤다. 구현력의 문제인지 입력부터 막혔다. 그래프가 딕셔너리일 경우 알고리즘을 구현하는 법을 배웠기 때문에 딕셔너리로 입력을 받아야 하는데, 주어진 예시 입력으로 딕셔너리를 만들 아이디어가 떠오르지 않았다. 2. 방문 리스트수업 내용에 구현했던 것처럼 방문 리스트를 만들고 노드가 스택이나 큐에 들어갔었는지 확인하는 과정을 구현했다. 정점의 수만큼 0을 채운 방문 리스트를 만들어 노드가 스택에 들어가면 1로 바꿀 수 있을 것이다. 하지만 dfs는 출력이 잘 되는 반면, bfs는 출력이 되지 않았다. 3. DFS 구현(스택+행렬)세션에서 dfs를 스택과 반복문을 이용하여 구현을 했으므로 이 문제에도 sta..
새로 알게 된 점은 무엇인가?Graph?그래프란 수학에서, 좀 더 구체적으로 그래프 이론에서 그래프란 객체의 일부 쌍들이 '연관되어' 있는 객체 집합 구조를 말한다. 놀랍게도 그래프는 18세기 유럽의 프레겔 강과 그 다리들을 가지고 했던 놀이에서 유래되었다. 프레겔 강은 2개의 큰 섬이 있었고 섬과 도시를 연결하는 7개의 다리가 있었다. 이 당시 사람들은 "7개의 다리를 한 번씩만 건너서 모두 지나갈 수 있을까?" 라는 질문을 시작으로 많은 사람들이 풀이에 도전해봤지만 풀 수 있는 사람은 아무도 없었다. 오일러 경로대학시절 공학수학 시간에 날 엄청나게 괴롭혔던 레온하르트 오일러가 이 문제에 대해서 조사, 논문을 작성하게 되는데, 이것이 그래프 이론의 시작이라고 한다. 각 다리를 a~g 지역을 A~D 라고..