분류 전체보기 720

[SWEA][Python] 4880 토너먼트 카드 게임

재귀구조 잘 잡은건가 싶기도하고 뭔가 줄일수 있을 것 같기도 한데.. 일단 번호랑 숫자 묶어서 깊게 갔다가 둘남으면 가위바위보하고 나와서 승자끼리 가위바위보 시켰음. def rock_siccor_paper(fights): length = len(fights) if length==1: return fights[0] elif length==2: if fights[0][1]==1: if fights[1][1]==1 or fights[1][1]==3: return fights[0] elif fights[1][1]==2: return fights[1] elif fights[0][1]==2: if fights[1][1]==1 or fights[1][1]==2: return fights[0] elif fights[1..

[SWEA][Python] 4881 배열 최소 합

평범한 DFS로 col_check해주면서 진행. 여기서 더 발전되면 비숍, 룩, 퀸 배치문제로 넘어간다. def DFS(row,sum_nums): global min_sum if row == N: min_sum = min(min_sum,sum_nums) return if sum_nums > min_sum: return for i in range(N): if not col_check[i]: col_check[i] = True DFS(row+1,sum_nums+matrix[row][i]) col_check[i] = False for test in range(1,int(input())+1): N = int(input()) matrix = [list(map(int,input().split())) for _ in..

[SWEA][Python] 5099 피자 굽기

deque rotate써서 그냥 돌려줬다. 안돌려도 풀수있을것같긴한데 귀찮.. from collections import deque for test in range(1,int(input())+1): N, M = map(int, input().split()) pizzas = list(map(int,input().split())) pizzas_idx = [[pizza,idx+1] for idx, pizza in enumerate(pizzas)] oven = deque() # 오븐의 크기 N for pizza in pizzas_idx: oven.append(pizza) while len(oven) == N: oven.rotate(-1) oven[-1][0] //=2 if not oven[-1][0]: oven..

[SWEA][Python] 5102 노드의 거리

평범한 그래프 탐색. from collections import deque def BFS(start,goal): queue = deque() queue.append([start,0]) visited = {i: False for i in range(1,V+1)} visited[start] = True while queue: cur_node, cur_dist = queue.popleft() if cur_node==goal: return cur_dist for next_node in graph[cur_node]: if not visited[next_node]: visited[next_node] = True queue.append([next_node,cur_dist+1]) return 0 for test in ..

[Test] 프론트엔드에서의 테스트

10분 테코톡 도비님의 ''프론트엔드에서의 테스트 종류'' 를 시청하고 작성했습니다. 프론트엔드에서의 테스트 종류. 테스트란? 프로그램을 실행하여 오류와 결함을 검출하고 애플리케이션이 요구사항에 맞게 동작하는지 검증하는 절차. 테스트의 목적 발생 가능한 결함을 예방하고 어플리케이션이 요구사항을 충족하는지 검증 개발 과정에서 생기는 변경사항들로 인해 새로운 결함이 유입되지 않았는지 확인 가능. 내 코드에 대한 자신감도 얻을 수 있음. 내 코드에 자신감이 없다면 기존 버그 수정 새로운 기능 추가 리팩토링 에 소극적이 되고 기술부채가 쌓이게 된다. 기술부채란 기술적으로 해결되어야 할 문제들을 뒤로 미루고 비즈니스 문제를 해결하는 시점을 앞당기는 것. 기술 부채가 증가하면 파산하고 ..

webDeveloper/Test 2021.08.19

[백준][Python] 6068 시간관리하기

각 업무의 limit마다 누적 시간 합과 limit을 비교해주면서 최솟값을 가져가면 된다. limit을 초과하면 즉시종료 import sys input = sys.stdin.readline N = int(input()) works = [list(map(int, input().split())) for _ in range(N)] works = sorted(works,key = lambda x: x[1]) total_time = 0 min_rest = float('inf') for time, limit in works: total_time += time min_rest = min(min_rest, limit-total_time) if limit < total_time: print(-1) exit() print..