본문 바로가기

프로그래머스3

[프로그래머스] 가장 먼 노드 / 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 문제풀이 단순히 시작 노드로부터의 최단경로를 구해 가장 멀리있는 공통노드들의 개수를 구하는 문제이다. 최단경로를 구하기위해 다익스트라 알고리즘을 사용하였습니다. 시간초과 된 코드 import heapq def solution(n, edge): answer = 0 distance = [int(1e9)] * (n + 1) graph = [[] for _ in range(n + 1)] for v in edge: a, b = v graph.. 2021. 11. 8.
[프로그래머스] 행렬 테두리 회전하기 / Python https://programmers.co.kr/learn/courses/30/lessons/77485?language=python3 코딩테스트 연습 - 행렬 테두리 회전하기 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 문제풀이 deque의 rotate를 사용하였다. 코드 from collections import deque def solution(rows, columns, queries): arr = [[0] * columns for _ in range(rows)] cnt = 0 answer = [] for i in range(.. 2021. 11. 5.
[프로그래머스] 오픈채팅방 / Python https://programmers.co.kr/learn/courses/30/lessons/42888 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr 문제풀이 단순히 문자열 파싱을 통해 문제를 해결하였다. - 주의할 점 닉네임 변경시, 최종 출력 메시지의 닉네임도 모두 변경된다. 닉네임은 중복 가능하지만, uid는 고유값이므로 중복되지 않는다. 코드 def solution(record): user = {} result = [] answer = [] for rec in record: rec = rec.split.. 2021. 11. 5.