[백준] 24041번 - 성싶당 밀키트 (파이썬)
# 성싶당 밀키트 import sys from collections import defaultdict input = sys.stdin.readline N, G, K = map(int, input().split()) info = defaultdict(list) for _ in range(N): speed, limit, isImportant = map(int, input().split()) info[isImportant].append((speed, limit)) def get_g(x, k): result = 0 for speed, limit in info[0]: result += speed*max(1, x-limit) info[1].sort(key=lambda k: -k[0]*max(1, x-k[1])) f..
2022. 4. 15.
[프로그래머스] Lv2 - 영어 끝말잇기 (파이썬)
https://programmers.co.kr/learn/courses/30/lessons/12981 코딩테스트 연습 - 영어 끝말잇기 3 ["tank", "kick", "know", "wheel", "land", "dream", "mother", "robot", "tank"] [3,3] 5 ["hello", "observe", "effect", "take", "either", "recognize", "encourage", "ensure", "establish", "hang", "gather", "refer", "reference", "estimate", "executive"] [0,0] programmers.co.kr def solution(n, words): access_list = set() bef..
2022. 4. 13.
[백준] 1726번 - 로봇 (파이썬)
# 로봇 import sys from collections import deque input = sys.stdin.readline N, M = map(int, input().split()) arr = [list(map(int, input().split())) for _ in range(N)] sa, sb, sd = map(int, input().split()) ea, eb, ed = map(int, input().split()) dx = [0, 0, 0, 1, -1] dy = [0, 1, -1, 0, 0] def bfs(): q = deque() q.append((0, sa-1, sb-1, sd)) visited = [[[False for _ in range(5)] for _ in range(M)] fo..
2022. 4. 13.
[백준] 22116번 - 창영이와 퇴근 (파이썬)
# 창영이와 퇴근 import sys import heapq N = int(input()) arr = [list(map(int, input().split())) for _ in range(N)] dx = [0, 1, 0, -1] dy = [1, 0, -1, 0] visited = [[sys.maxsize for _ in range(N)]for _ in range(N)] def dijkstra(a, b): q = [] heapq.heappush(q, (0, a, b)) visited[a][b] = 0 while q: height, x, y = heapq.heappop(q) if visited[x][y] < height: continue for k in range(4): nx = x + dx[k] ny = ..
2022. 4. 12.
[프로그래머스] Lv2 - 삼각 달팽이 (파이썬)
https://programmers.co.kr/learn/courses/30/lessons/68645 코딩테스트 연습 - 삼각 달팽이 5 [1,2,12,3,13,11,4,14,15,10,5,6,7,8,9] 6 [1,2,15,3,16,14,4,17,21,13,5,18,19,20,12,6,7,8,9,10,11] programmers.co.kr def solution(n): arr = [[0 for _ in range(i)] for i in range(1, n+1)] x, y, num = -1, 0, 1 for i in range(n): for _ in range(i, n): if i % 3 == 0: x += 1 elif i % 3 == 1: y += 1 else: x -= 1 y -= 1 arr[x][y]..
2022. 4. 11.