![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/ORn1x/btqZegJo29b/sTJaRRG6zwXIGDxiduKhO1/img.png)
안녕하세요 오랜만에 알고리즘 풀이를 포스팅해보려 합니다 :) 오늘 포스팅할 문제는 카카오 blind recruitment에 나왔던 '자물쇠와 열쇠' 입니다. programmers.co.kr/learn/courses/30/lessons/60059 코딩테스트 연습 - 자물쇠와 열쇠 [[0, 0, 0], [1, 0, 0], [0, 1, 1]] [[1, 1, 1], [1, 1, 0], [1, 0, 1]] true programmers.co.kr [문제 설명] [제한사항 & 입출력 예] 이 문제는 2차원 배열을 잘 다룰 수 있는지 확인하는 문제로, 2차원 배열의 회전과 이동방법을 구현해서 완전탐색을 수행하면 풀리는 문제입니다. [접근 방식] 1. key가 회전 가능하기 때문에, key를 회전시키기 위한 rotat..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/uyTQn/btqMOy3sT7B/rngt1sKkGxkuOU0pVmmm1k/img.png)
방금 막 DFS/BFS 네트워크 포스팅을 했는데 알고리즘 하나 더 포스팅하려 합니다 ㅎㅎ (다른 주제로 포스팅하고 싶은데 노트북을 수리 맡긴 상황이라 알고리즘밖에 할 게 없네요 ㅜ) 바로 시작합니다. 이번에 풀어볼 문제는 역시 코딩 테스트 고득점 Kit에 들어있는 탐욕법 - 섬 연결하기입니다. programmers.co.kr/learn/courses/30/lessons/42861 코딩테스트 연습 - 섬 연결하기 4 [[0,1,1],[0,2,2],[1,2,5],[1,3,1],[2,3,8]] 4 programmers.co.kr 접근 방식: 1. 저는 가장 최소의 비용으로 섬을 연결해야 하기 때문에 가장 적은 비용이 드는 섬을 먼저 탐색하는 것이 좋을 것 같다고(?) 생각했습니다. 그래서 입력값인 costs를..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/cZ2rr9/btqMIrFdUyM/lxYyymKHUNfMPqf2F6f92k/img.png)
오늘 풀어볼 문제는 코딩 테스트 고득점 Kit에 들어있는 DFS/BFS - 네트워크입니다. 개인적으로는 이 문제는 여행경로와는 다르게 레벨 3치고는 엄청 쉬운 편(?) 인 것 같습니다. programmers.co.kr/learn/courses/30/lessons/43162 코딩테스트 연습 - 네트워크 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있 programmers.co.kr 접근 방식: 1. 주어진 2차원 배열을 갖고 그래프를 만듭니다. 2. 탐색을 해야 하므로 BFS함수를 작성합니다. 모든 탐색이 끝난 후 그래프에서 방문한 노드를 삭제해 줍니다. 한 번의 ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/WGG7g/btqJV7gSSY2/8reVYFEUymFqgqUNeuYctK/img.png)
오늘은 프로그래머스의 코딩 테스트 고득점 Kit에 들어있는 DFS/BFS문제를 풀어보려 합니다. DFS/BFS는 코딩테스트에 자주 나오는 유형이니 4문제 다 풀어보면 좋을 것 같네요 오늘 풀어볼 문제는 여행경로입니다. programmers.co.kr/learn/courses/30/lessons/43164 처음 문제를 읽고 레벨3치고는 쉽네? 생각했는데, 테스트 케이스 1번 때문에 생각보다 애를 먹었네요. 그래서 아예 풀이를 갈아엎고 다시 풀었다는.. ㅜㅜ 저의 접근 방식은 이렇습니다. 1. 주어진 배열을 그래프로 만든다. (그래프 만드는 방법은 다양한 방법이 있겠지만, 저는 딕셔너리를 사용해서 인접 리스트 형식으로 만들었습니다.) 2. 큐를 만들고 (출발 노드, [경로]) 넣어준다. (처음엔 출발점이 무..