[프로그래머스] Lv2 - 빛의 경로 사이클 (파이썬)
https://programmers.co.kr/learn/courses/30/lessons/86052 코딩테스트 연습 - 빛의 경로 사이클 각 칸마다 S, L, 또는 R가 써져 있는 격자가 있습니다. 당신은 이 격자에서 빛을 쏘고자 합니다. 이 격자의 각 칸에는 다음과 같은 특이한 성질이 있습니다. 빛이 "S"가 써진 칸에 도달한 경우, 직진 programmers.co.kr dx = [0, 1, 0, -1] dy = [1, 0, -1, 0] def solution(grid): global answer, visited global N, M answer = [] N = len(grid) M = len(grid[0]) visited = [[[False]*4 for _ in range(M)] for _ in r..
2022. 4. 3.
[프로그래머스] Lv2 - 튜플 (파이썬)
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 import re def solution(s): result = re.findall('[{][\d,]+[}]', s) result.sort(key=lambda x: len(x)) answer = [] now = set() for x in result: next = set(list(x[1:-1].split(','..
2022. 4. 2.
[백준] 17396번 - 백도어 (파이썬)
# 백도어 import heapq import sys input = sys.stdin.readline N, M = map(int, input().split()) cant_go = list(map(int, input().split())) cant_go[-1] = 0 arr = [[]for _ in range(N)] for _ in range(M): a, b, cost = map(int, input().split()) arr[a].append((cost, b)) arr[b].append((cost, a)) dist = [sys.maxsize] * N def dijkstra(): q = [] heapq.heappush(q, (0, 0)) dist[0] = 0 while q: cost, node = heapq...
2022. 4. 2.
[프로그래머스] Lv2 - 거리두기 확인하기 (파이썬)
https://programmers.co.kr/learn/courses/30/lessons/81302 코딩테스트 연습 - 거리두기 확인하기 [["POOOP", "OXXOX", "OPXPX", "OOXOX", "POXXP"], ["POOPX", "OXPXP", "PXXXO", "OXXXO", "OOOPP"], ["PXOPX", "OXOXP", "OXPOX", "OXXOP", "PXPOX"], ["OOOXX", "XOOOX", "OOOXX", "OXOOX", "OOOOO"], ["PXPXP", "XPXPX", "PXPXP", "XPXPX", "PXPXP"]] [1, 0, 1, 1, 1] programmers.co.kr from collections import deque dx = [0, 1, 0, -1] d..
2022. 4. 1.