목록python (158)
컴공생의 다이어리
백준 14502번 : 연구소 (문제 바로가기) 내 코드 import sys from collections import deque from itertools import combinations def bfs_and_count_zero(graph, virus_pos, n, m): # 너비 우선 탐색 & 빈칸 수 구하기 directions = [(1, 0), (-1, 0), (0, 1), (0, -1)] visited = [[False] * m for _ in range(n)] for i, j in virus_pos: visited[i][j] = True queue = deque(virus_pos) while queue: # 바이러스 전파하기! x, y = queue.popleft() for i in rang..
[프로그래머스] K번째수 - 파이썬(Python) def solution(array, commands): answer = [] for i, j, k in commands: answer.append(sorted(array[i - 1:j])[k - 1]) return answer https://programmers.co.kr/learn/courses/30/lessons/42748 코딩테스트 연습 - K번째수 [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr
백준 2225번 : 합분해 (문제 바로가기) 내 코드 n, k = map(int, input().split()) dp = [[0] * (k + 1) for _ in range(n + 1)] dp[0][0] = 1 for i in range(n + 1): for j in range(1, k + 1): dp[i][j] = dp[i - 1][j] + dp[i][j - 1] print(dp[n][k] % 1000000000)
백준 14676번 : 영우는 사기꾼? (문제 바로가기) 내 코드 import sys from collections import defaultdict input = sys.stdin.readline # n : 건물 종류의 개수, M : 건물 사이의 관계수, k : 영우의 게임 정보의 개수 n, m, k = map(int, input().split()) graph = defaultdict(list) # 건물 관계 indegree = [0] * (n + 1) # 진입 차수 build = [0] * (n + 1) # 빌딩 몇개 지어졌는지 check = False # 치트키 여부 for _ in range(m): # 건물 관계 x, y = map(int, input().split()) graph[x].append..
Python turtle(터틀) 그래픽 창 안 닫히게 하기 파이참이나 vscode에서 turtle을 사용할 때 turtle 그래픽창이 바로 꺼지는 경우가 있는데 이 경우 맨 마지막 줄에 아래 코드를 넣어주면 그래픽창이 바로 꺼지지 않고 마우스로 그래픽창을 클릭했을 때 창이 닫히도록 설정된다. turtle.exitonclick() https://althoughh.tistory.com/37 pyCharm 파이참에서 터틀창이 바로 닫힐 때 쓰는 명령어 이번에 새로 파이썬 공부를 시작하게 되었다. 공부를 시작한 이유는 장고를 활용하여 웹 서비스를 개발해보고 싶었고 또한 알고리즘 공부를 파이썬을 통해서 하고 싶은 마음이 있기 때문이다. althoughh.tistory.com
백준 1474번 : 밑 줄 (문제 바로가기) 내 코드 import sys input = sys.stdin.readline n, m = map(int, input().split()) data = [input().rstrip() for _ in range(n)] default_len, r = divmod(m - sum(map(len, data)), n - 1) result = data[0] for idx in range(1, n): if data[idx][0].islower() and r != 0: r -= 1 result += '_' * (default_len + 1) + data[idx] elif idx + r == n: r -= 1 result += '_' * (default_len + 1) + dat..
백준 1005번 : ACM Craft (문제 바로가기) 내 코드 import sys from collections import defaultdict, deque input = sys.stdin.readline for _ in range(int(input())): n, k = map(int, input().split()) times = list(map(int, input().split())) result = times[::] indegree = [0] * n arr = defaultdict(list) for _ in range(k): a, b = map(int, input().split()) arr[a - 1].append(b - 1) indegree[b - 1] += 1 w = int(input()) -..
백준 1715번 : 카드 정렬하기 (문제 바로가기) 내 코드 import heapq import sys input = sys.stdin.readline n = int(input()) card = [int(input()) for _ in range(n)] heapq.heapify(card) result = 0 while len(card) > 1: a, b = heapq.heappop(card), heapq.heappop(card) result += a + b heapq.heappush(card, a + b) print(result)
백준 1717번 : 집합의 표현 (문제 바로가기) 내 코드 import sys sys.setrecursionlimit(10**8) def find_parent(parent, x): if parent[x] != x: parent[x] = find_parent(parent, parent[x]) return parent[x] def union(parent, a, b): a = find_parent(parent, a) b = find_parent(parent, b) if a < b: parent[b] = a else: parent[a] = b input = sys.stdin.readline n, m = map(int, input().split()) parent = [i for i in range(n + 1)] ..
백준 11286번 : 절댓값 힙 (문제 바로가기) 내 코드 import heapq, sys n = int(input()) heap = [] for _ in range(n): num = int(sys.stdin.readline()) if num == 0: if heap: print(heapq.heappop(heap)[1]) else: print(0) else: heapq.heappush(heap, (abs(num), num))