[프로그래머스] 양과 늑대(Python)
https://programmers.co.kr/learn/courses/30/lessons/92343 코딩테스트 연습 - 양과 늑대 [0,0,1,1,1,0,1,0,1,0,1,1] [[0,1],[1,2],[1,4],[0,8],[8,7],[9,10],[9,11],[4,3],[6,5],[4,6],[8,9]] 5 [0,1,0,1,1,0,1,0,0,1,0] [[0,1],[0,2],[1,3],[1,4],[2,5],[2,6],[3,7],[4,8],[6,9],[9,10]] 5 programmers.co.kr 쉽지 않았던 문제다. 풀면서 생겼던 문제는 현재 상태에서 갈 수 있는 노드를 찾는 과정에서 객체를 같이 참조하면서 무한루프를 돌았다. 그 부분을 어떻게 할지 고민했다. 알고리즘은 다음과 같다. 1. 루트 노드부터 ..
2022. 1. 28.
[프로그래머스] 지형 이동 (Python)
https://programmers.co.kr/learn/courses/30/lessons/62050 코딩테스트 연습 - 지형 이동 [[1, 4, 8, 10], [5, 5, 5, 5], [10, 10, 10, 10], [10, 10, 10, 20]] 3 15 [[10, 11, 10, 11], [2, 21, 20, 10], [1, 20, 21, 11], [2, 1, 2, 1]] 1 18 programmers.co.kr 이동하는 것은 dfs와 최소 비용 사다리는 heapq를 활용해서 풀었다 dfs + heapq 알고리즘 1. 0, 0 에서 방문 가능한 곳 방문(height) 2. height 차 때문에 방문 못하면 height차이와 x , y 를 heapq에 저장 3. 이동 할 수 있는 곳 모두 이동 했을 ..
2021. 12. 20.
[프로그래머스] 지형 이동 (Python)
https://programmers.co.kr/learn/courses/30/lessons/62050 코딩테스트 연습 - 지형 이동 [[1, 4, 8, 10], [5, 5, 5, 5], [10, 10, 10, 10], [10, 10, 10, 20]] 3 15 [[10, 11, 10, 11], [2, 21, 20, 10], [1, 20, 21, 11], [2, 1, 2, 1]] 1 18 programmers.co.kr 이동하는 것은 dfs와 최소 비용 사다리는 heapq를 활용해서 풀었다 dfs + heapq 알고리즘 1. 0, 0 에서 방문 가능한 곳 방문(height) 2. height 차 때문에 방문 못하면 height차이와 x , y 를 heapq에 저장 3. 이동 할 수 있는 곳 모두 이동 했을 ..
2021. 12. 20.
[프로그래머스] 동굴 탐험 (Python)
https://programmers.co.kr/learn/courses/30/lessons/67260 코딩테스트 연습 - 동굴 탐험 9 [[0,1],[0,3],[0,7],[8,1],[3,6],[1,2],[4,7],[7,5]] [[8,5],[6,7],[4,1]] true 9 [[8,1],[0,1],[1,2],[0,7],[4,7],[0,3],[7,5],[3,6]] [[4,1],[5,2]] true 9 [[0,1],[0,3],[0,7],[8,1],[3,6],[1,2],[4,7],[7,5]] [[4,1],[8,7],[6,5]] false programmers.co.kr DFS에 조건을 잘 걸어야 하는 문제다 from collections import defaultdict import sys sys.setrecu..
2021. 12. 9.
[프로그래머스] 퍼즐 조각 채우기 (Python)
https://programmers.co.kr/learn/courses/30/lessons/84021 코딩테스트 연습 - 퍼즐 조각 채우기 [[1,1,0,0,1,0],[0,0,1,0,1,0],[0,1,1,0,0,1],[1,1,0,1,1,1],[1,0,0,0,1,0],[0,1,1,1,0,0]] [[1,0,0,1,1,0],[1,0,1,0,1,0],[0,1,1,0,1,1],[0,0,1,0,0,0],[1,1,0,1,1,0],[0,1,0,0,0,0]] 14 [[0,0,0],[1,1,0],[1,1,1]] [[1,1,1],[1,0,0],[0,0,0]] 0 programmers.co.kr dfs로 풀이했다. 알고리즘은 다음과 같다. 1. 게임보드의 모양을 구한다. 모양은 2차원 배열의 좌표 순서대로 찾으며, 방문하지 ..
2021. 11. 29.
[프로그래머스] 여행 경로(Python)
https://programmers.co.kr/learn/courses/30/lessons/43164?language=python3 코딩테스트 연습 - 여행경로 [["ICN", "SFO"], ["ICN", "ATL"], ["SFO", "ATL"], ["ATL", "ICN"], ["ATL","SFO"]] ["ICN", "ATL", "ICN", "SFO", "ATL", "SFO"] programmers.co.kr 처음 문제를 풀 때는 알파벳 정렬만 따져서 풀어서 일부 문제가 안 풀렸다. 내가 틀리는 유형의 테스트 케이스는 하단과 같다. tickets = [["ICN", "AOO"], ["AOO", "BOO"], ["AOO", "COO"], ["COO", "AOO"], ["BOO", "ZOO"]] answer..
2021. 10. 21.