코딩 테스트/Level 3
-
등산코스 정하기코딩 테스트/Level 3 2022. 11. 16. 17:55
https://school.programmers.co.kr/learn/courses/30/lessons/118669 다익스트라 알고리듬의 변형이다. from collections import defaultdict from heapq import heappop, heappush def solution(n, paths, gates, summits): summits_set = set(summits) graph = defaultdict(list) for i, j, w in paths: graph[i].append((j, w)) graph[j].append((i, w)) gates_queue = [(0, gate) for gate in gates] intensities = [float('inf') for _ in..
-
부대복귀코딩 테스트/Level 3 2022. 11. 16. 13:18
https://school.programmers.co.kr/learn/courses/30/lessons/132266 destination에서 출발해서 각각의 부대로 도착하는 거리를 측정하는 것이 더 쉽다. 최단 거리이므로 너비 우선 탐색을 응용하면 된다. from collections import defaultdict, deque def solution(n: int, roads: list, sources: list, destination: int): graph = defaultdict(set) for v1, v2 in roads: graph[v1].add(v2) graph[v2].add(v1) visited = {} queue = deque() # queue = deque([(destination, 0)..
-
2017 카카오코드 예선: 보행자 천국코딩 테스트/Level 3 2022. 9. 13. 18:16
https://school.programmers.co.kr/learn/courses/30/lessons/1832 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 등굣길 문제의 업그레이드입니다. https://comdoc.tistory.com/entry/%EB%93%B1%EA%B5%A3%EA%B8%B8-%EB%8F%99%EC%A0%81%EA%B3%84%ED%9A%8D%EB%B2%95 (파이썬) 등굣길 - 동적계획법 https://programmers.co.kr/learn/courses/30/lessons/42898 코딩테스트 연습 - 등굣길 계속되는 폭우로 ..
-
선입 선출 스케줄링코딩 테스트/Level 3 2022. 9. 4. 10:29
https://school.programmers.co.kr/learn/courses/30/lessons/12920 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 파이썬 무지성 코딩. def solution(n, cores): board = [0 for _ in cores] while True: for i, v in enumerate(cores): if board[i] == 0: n -= 1 board[i] = v if n == 0: return i + 1 for i in range(len(cores)): board[i] -= 1 이분(이진) 탐색 파라메트..
-
파괴되지 않은 건물코딩 테스트/Level 3 2022. 1. 21. 21:08
https://programmers.co.kr/learn/courses/30/lessons/92344 코딩테스트 연습 - 파괴되지 않은 건물 [[5,5,5,5,5],[5,5,5,5,5],[5,5,5,5,5],[5,5,5,5,5]] [[1,0,0,3,4,4],[1,2,0,2,3,2],[2,1,0,3,1,2],[1,0,1,3,3,1]] 10 [[1,2,3],[4,5,6],[7,8,9]] [[1,1,1,2,2,4],[1,0,0,1,1,2],[2,2,0,2,0,100]] 6 programmers.co.kr 무지성 코딩 def solution(board, skills): for skill in skills: for row in range(skill[1], skill[3] + 1): for column in ran..
-
아이템 줍기코딩 테스트/Level 3 2021. 10. 20. 07:50
https://programmers.co.kr/learn/courses/30/lessons/87694 코딩테스트 연습 - 11주차 [[1,1,7,4],[3,2,5,5],[4,3,6,9],[2,6,8,8]] 1 3 7 8 17 [[1,1,8,4],[2,2,4,9],[3,6,9,8],[6,3,7,7]] 9 7 6 1 11 [[2,2,5,5],[1,3,6,4],[3,1,4,6]] 1 4 6 3 10 programmers.co.kr 파이썬 def solution(rectangle, char_x, char_y, item_x, item_y): limit_x, limit_y = 100, 100 rectangles = tuple(make_double(r) for r in rectangle) char_x, char_y,..
-
공 이동 시뮬레이션코딩 테스트/Level 3 2021. 10. 16. 10:28
https://programmers.co.kr/learn/courses/30/lessons/87391 코딩테스트 연습 - 공 이동 시뮬레이션 n행 m열의 격자가 있습니다. 격자의 각 행은 0, 1, ..., n-1번의 번호, 그리고 각 열은 0, 1, ..., m-1번의 번호가 순서대로 매겨져 있습니다. 당신은 이 격자에 공을 하나 두고, 그 공에 다음과 같은 쿼리 programmers.co.kr 아직 프로그래머스는 파이썬 10의 패턴매칭을 지원하지 않는다. 파이썬 3.8.5 3.8.5 (default, Sep 8 2020, 23:06:40) [GCC 9.3.0] 일단 전수조사(brute force)... def solution(n, m, x, y, queries): answer = 0 for start..
-
다람쥐 옮기기코딩 테스트/Level 3 2021. 10. 14. 12:14
상자를 이용하여 최다(多)의 다람쥐를 옮겨야 한다. 다음 조건을 만족하며 이동 가능한 최대의 다람쥐의 수는? 1) 박스는 2개이다. 2) 박스는 30kg 이하까지 담을 수 있다. 3) 다람쥐는 총 9마리이다. 4) 다람쥐의 몸무게(kg)는 각각 [12, 9, 9, 22, 12, 8, 5, 2, 3]이다. 순열을 이용한 전수조사(brute force) from itertools import permutations def solution(weights): answer = 0 for p_weights in permutations(weights): start = count = 0 for _ in range(2): in_box = 0 for i in range(start, 9): if (temp := in_box..