[PG/Python] 행렬 테두리 회전하기
📌 문제 https://programmers.co.kr/learn/courses/30/lessons/77485 코딩테스트 연습 - 행렬 테두리 회전하기 6 6 [[2,2,5,4],[3,3,6,6],[5,1,6,3]] [8, 10, 25] 3 3 [[1,1,2,2],[1,2,2,3],[2,1,3,2],[2,2,3,3]] [1, 1, 5, 3] programmers.co.kr 📌 문제 접근 방법 입력으로 들어온 행과 열의 크기에 따라 2차원 리스트를 생성한다. 리스트에 시계방향으로 '오른쪽->아래->왼쪽->위'의 방향을 저장한다. queries를 하나씩 순회하며 회전을 시키고, 회전할 때마다 최소값을 갱신한다. 1회 회전이 끝날 때마다 저장된 최소값을 answer에 저장한다. 📌 코드 def solution..
2021. 12. 16.
[PG/Python] 튜플
📌 문제 https://programmers.co.kr/learn/courses/30/lessons/64065 코딩테스트 연습 - 튜플 "{{2},{2,1},{2,1,3},{2,1,3,4}}" [2, 1, 3, 4] "{{1,2,3},{2,1},{1,2,4,3},{2}}" [2, 1, 3, 4] "{{4,2,3},{3},{2,3,4,1},{2,3}}" [3, 2, 4, 1] programmers.co.kr 📌 문제 접근 방법 입력이 문자열로 들어오기 때문에 split을 쓰려다가 ','로 끊는 건 안되겠다 생각하고 포기했는데, 생각해보니 '},'으로 끊으면 됐었다. 우선, split을 사용하지 않고 sets에 문자열로 들어온 입력값을 리스트 형태로 바꿔서 저장해주었다. sets를 길이순대로 정렬한 후, s..
2021. 12. 16.
[PG/Python] 가장 먼 노드
📌 문제 https://programmers.co.kr/learn/courses/30/lessons/49189 코딩테스트 연습 - 가장 먼 노드 6 [[3, 6], [4, 3], [3, 2], [1, 3], [1, 2], [2, 4], [5, 2]] 3 programmers.co.kr 📌 문제 접근 방법 인접 리스트를 활용해서 그래프 정보를 저장해준 뒤 bfs를 사용했다. bfs에서 방문체크를 할 때, 1번 노드와의 거리를 저장해줬다. (가장 먼 거리가 1일 경우에도 1번 노드는 포함되지 않아야하므로 1번 노드는 -1로 방문체크를 해줬다.) bfs 탐색이 끝난 후, visited를 순회하면서 거리가 가장 먼 노드의 개수를 세어 반환한다. 📌 코드 from collections import deque de..
2021. 12. 9.