본문 바로가기

전체 글109

adjacency matrix로 구현된 graph를 DFS할 때 time complexity Question. Answer. C 2021. 2. 14.
[프로그래머스] "네트워크" (+파이썬 코드) Question. 프로그래머스 깊이/너비 우선 탐색(DFS/BFS) > 네트워크 Answer. computers라는 인접행렬(adjacency matrix) graph가 주어지는데, 해당 graph에서 connected component가 몇 개인지 구하는 문제이다. bfs로 풀 수도 있고, dfs로 풀 수도 있다. 주어진 인접행렬을 이용해 DFS로 풀면 다음과 같다. sol1) 인접행렬 + dfs 1) i번째 노드를 방문하지 않았다면, 스택에 i번째 노드를 넣는다. 2) stack의 요소를 하나씩 pop 하며 visited 배열에 해당 노드를 true 처리한다. 3) 해당 노드와 연결된 노드들 중 방문하지 않은 노드들을 스택에 넣어준다. ---> dfs 함수 부분 4) 1~3을 n개의 노드에 대해 반복.. 2021. 2. 14.
[Python] list 복사 ([:], copy(), deepcopy()) 파이썬 ps를 하면서 많이 하기 쉬운 실수들에 대해 적는다. 다음 두 코드의 결과는 어떻게 될까? 하나는 맞고 하나는 이상한 결과를 배출한다. 1) class Solution(object): def subsets(self, nums): """ :type nums: List[int] :rtype: List[List[int]] """ results = [] def dfs(nums, k, pos, subsets=[]): if k == 0: results.append(subsets) return for i in range(pos, len(nums)): subsets.append(nums[i]) dfs(nums, k - 1, i + 1, subsets) subsets.pop() for i in range(len(.. 2021. 2. 11.
ML 관련 Top-tier 학회 명단 채용공고를 보면 ML 관련 Top-tier 학회 Publication 실적이라는 말이 많이 적혀있는데, top-tier의 기준은 무엇일까. 각 분야별 교수님들이 말하는 Top-tier 학회 명단. ML 전반 NeurIPS, ICML, ICLR, AAAI, IJCAI NLP 전반 ACL, EMNLP, NAACL Computer Vision 전반 CVPR, ICCV, ECCV Data Mining KDD 2021. 2. 11.
여러 좌표가 주어질 때 이쁘게 별(*) 찍기 오늘 코딩테스트를 보다가 오랜만에 '별 찍기' 문제를 보게 됐다. 해당 문제에서 좀 까다로웠던 부분만 하위 문제로 새롭게 만들어봤다. Q. 여러 좌표가 주어질 때 이쁘게 별(*) 찍기 (-1, 0), (1, 0) 과 같은 좌표가 주어지면, 주어진 좌표는 '*'로 표시하고, 나머지는 '.'로 표시한다. 즉, ['*.*'] 로 출력한다. 물론 board의 크기 제한은 없지만, ['...', '*.*']로 출력하면 안 된다. 즉, '...'는 굳이 필요 없으므로 제거한다. 별로 어렵지 않은 문제인데, 구현을 어떻게 하면 간단히 할까라는 생각을 시험 끝나고 생각해보다가, 다음과 같이 함수화시켜봤다. points_to_star 함수는 점들이 주어지면 해당 점들에 대해 '*'로 board에 표시해주는 함수다. 코드.. 2021. 2. 7.
시스템 설계 및 규모 확장성 문제들 시스템 설계 및 규모 확장성 문제들 빅테크 기업에서 가끔 '시스템 설계'가 면접의 일부분으로 들어가 있다고 한다. 실제로 아마존에서는 면접 한 세션은 시스템 설계 세션도 있다고 들었는데, FANG(Facebook, Amazon, Netflix, Google)에서는 이런 부분도 물어보는 듯하다. 그래서 이번에는 시스템 설계 문제들을 공부할 겸 해당 문제들을 적어봤다. 국내 IT 기업은 시스템 설계 문제들을 직접적으로 물어보는 것 같진 않고, "100만 유저가 사용하는 시스템을 설계하면?" "트래픽이 순간적으로 많을 때 어떻게 해결할지?" "대용량 데이터는 어떻게 저장하고 관리할지?" 이와 같이 큰 범주에서 물어보는 듯하다. 문제의 포인트는 평소 프로그램을 만들 때, 이러한 부분들까지 고민하고 만드는지, 아.. 2021. 2. 6.
728x90