프로그래머스 113

[프로그래머스] 행렬 테두리 회전하기

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges 머리로는 뭔가 할 수 있을 듯 말듯한데 결국 구글의 도움을 받아야 했음 def solution(rows, columns, queries): answer = [] box = [] for i in range(rows): row = [] for j in range(columns): row.append(columns * i + j + 1) box.append(row) for querie in queries: 행1, 열1, 행2, 열2 = querie 행1 -= 1; 열1 -= 1; 행2 -= 1; 열2 -= 1 tmp = box[행1][열1] small = tmp # left for i in ra..

[프로그래머스] 거리두기 확인하기

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges 어려워서 구글링하여 참고하였고 제출은 안 함..! from collections import deque LENGTH = 5 def bfs(p): start = [] # 시작점이 되는 P 좌표 구하기 for i in range(LENGTH): for j in range(LENGTH): # 응시자가 앉아있는 자리 P가 시작점 if p[i][j] == 'P': start.append([i, j]) for s in start: queue = deque([s]) # 큐에 초기값 visited = [[0]*LENGTH for i in range(LENGTH)] # 방문 처리 리스트 distance =..

[프로그래머스] 순위

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges ** 시도중 from collections import deque def solution(n, results): win_graph = [ [] for i in range(n + 1) ] lose_graph = [ [] for i in range(n + 1) ] wn_c = [ 0 for i in range(n + 1) ] for result in results: win_graph[result[0]].append(result[1]) lose_graph[result[1]].append(result[0]) queue = deque() queue.append(results[0][0]) answer..

[프로그래머스] 가장 먼 노드

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges from collections import deque def solution(n, edge): graph = [[] for i in range(n + 1)] node_count = [0 for i in range(n + 1)] for i, e in enumerate(edge): graph[e[0]].append(e[1]) graph[e[1]].append(e[0]) node_count[1] = 1 queue = deque() queue.append(1) while queue: now = queue.popleft() for g in graph[now]: if node_count[g] == 0..

[프로그래머스] 삼각달팽이

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges def solution(n): answer = [[ 0 for j in range(i, 2 * i)] for i in range(1, n + 1)] 행, 열 = -1, 0 num = 1 for i in range(n): for j in range(i, n): if i % 3 == 0: 행 += 1 elif i % 3 == 1: 열 += 1 else: 행 -= 1 열 -= 1 answer[행][열] = num num += 1 print(f'i: {i}, j: {j}, row: {행}, col: {열}, num: {num}') print(answer) return sum(answer, []) ..

반응형