본문 바로가기

Python265

[프로그래머스 Lv.3] 가장 먼 노드 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr from collections import deque def solution(n, edge): answer = 0 graph = [[] for _ in range(n+1)] visited = [False]*(n+1) route = [] for start,end in edge: graph[start].append(end) graph[end].append(start) def bfs(index): visited[index] = True queue = deque([(index,0)]) route.append((ind.. 2023. 9. 28.
[프로그래머스 Lv.2] 타겟 넘버 재풀이 [프로그래머스 Lv.2] 타겟 넘버 # BFS from collections import deque def solution(numbers, target): answer = 0 queue = deque() queue.append((numbers[0],0)) queue.append((-numbers[0],0)) while queue: v, index = queue.popleft() index += 1 if index < len(numbers): queue.append((v+numbers[ind woohyun-king.tistory.com def solution(numbers, target): answer = 0 def dfs(depth,s): nonlocal answer if depth == len(numb.. 2023. 9. 28.
[프로그래머스 Lv.1] 최소직사각형 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(sizes): sizes = [sorted(x,reverse=True) for x in sizes] # [[60, 50], [70, 30], [60, 30], [80, 40]] widths = [x[0] for x in sizes] # [60, 70, 60, 80] heights = [x[1] for x in sizes] # [50, 30, 30, 40] return max(widths)*max(heights) 이번 문제는 주어진 명함들의 가로와 세로길이가 주어졌을 때, 명함을 가로나 .. 2023. 9. 28.
[백준 25421번] 조건에 맞는 정수의 개수 25421번: 조건에 맞는 정수의 개수 2개의 자릿수를 갖고 첫 번째 자리의 숫자와 두 번째 자리의 숫자의 차이가 2보다 작거나 같은 양의 정수 11, 12, 13, 21, 22, 23, 24, 31, 32, ... , 97, 98, 99가 A에 해당된다. 따라서 정답은 39이다. www.acmicpc.net n = int(input()) data = [1 for x in range(1,10)] for i in range(n-1): temp = [] for j in range(9): value = 0 for k in range(j-2,j+3): if 0 2023. 9. 28.
[SWEA 5102번] 노드의 거리 from collections import deque t = int(input()) answer = [] for _ in range(t): v, e = map(int,input().split()) graph = [[] for _ in range(v+1)] visited = [0]*(v+1) for i in range(e): start, end = map(int,input().split()) graph[start].append(end) graph[end].append(start) s, g = map(int,input().split()) def bfs(s,g): visited[s] = 0 queue = deque([s]) while queue: v = queue.popleft() for node in gra.. 2023. 9. 21.
[SWEA 5099번] 피자굽기 from collections import deque t = int(input()) answer = [] for _ in range(t): n, m = map(int,input().split()) cheese = list(map(int,input().split())) data = [(i+1,cheese[i]) for i in range(m)] queue = deque([]) for _ in range(n): queue.append(data.pop(0)) while queue: if len(queue) == 1: v = queue.popleft() answer.append(v[0]) break index, remain = queue.popleft() if remain // 2 != 0: queue.appe.. 2023. 9. 21.