문제주소 programmers.co.kr/learn/courses/30/lessons/67259 내 풀이 answer = 10e9 def dfs(board, pos, n, cost_board): x, y = pos[0][0], pos[0][1] dir = pos[1] cost = pos[2] global answer # 종료조건 # 끝지점 도착 if pos[0] == (n, n): answer = min(answer, pos[2] * 100) return # cost 가 answer보다 커지는건 최솟값이 아니므로 종료 if cost > answer: return # cost_board에 저장된 값이 지금 cost 보다 작다는 것은 이미 방문한 곳이고, 이미 최솟값이므로 종료 if cost_board[x]..
문제주소 programmers.co.kr/learn/courses/30/lessons/64062 내 풀이 def solution(stones, k): if k == 1: return min(stones) # k가 1이 아닌 경우 answer = binary_search(k, stones, 1, max(stones)) return answer def is_cross(stones, answer, k): start = 0 end = 0 for i in range(1, len(stones)): if stones[i] answer: start = i if end - start == k - 1: return False return True def binary_search(k, stones, start, end): ..
문제주소 programmers.co.kr/learn/courses/30/lessons/64064?language=python3 내 풀이 import re from itertools import product def solution(user_id, banned_id): answer_list = list() banned_list = [] banned_length = len(banned_id) for banned in banned_id: banned = banned.replace("*", ".") p = re.compile(banned) id_list = [] for user in user_id: if len(banned) == len(user) and p.match(user): id_list.append(u..
문제주소 programmers.co.kr/learn/courses/30/lessons/60062 내 풀이 from collections import deque from itertools import permutations # 항상 index 처리가 어렵다. 맨 앞, 뒤 index는 특별하게 확인해주기 def checkVisited(weak, friends): index = 0 visited = [False for _ in range(len(weak))] for friend in friends: dist = 0 while friend >= dist and index < len(weak)-1: visited[index] = True index += 1 dist += weak[index] - weak[inde..
문제주소 programmers.co.kr/learn/courses/30/lessons/42892 내 풀이 # ✨ 파이썬 기본 재귀 limit이 1000이라 늘려주어야 한다! import sys sys.setrecursionlimit(10**6) class Node: def __init__(self, info): self.data = info[0] self.value = info[1] self.left, self.right = None, None class NodeTree: def __init__(self, parent): self.parent = parent def insert(self, info): self.cur_node = self.parent while True: if info[0][0] < se..
문제주소 programmers.co.kr/learn/courses/30/lessons/60061 코딩테스트 연습 - 기둥과 보 설치 5 [[1,0,0,1],[1,1,1,1],[2,1,0,1],[2,2,1,1],[5,0,0,1],[5,1,0,1],[4,2,1,1],[3,2,1,1]] [[1,0,0],[1,1,1],[2,1,0],[2,2,1],[3,2,1],[4,2,1],[5,0,0],[5,1,0]] 5 [[0,0,0,1],[2,0,0,1],[4,0,0,1],[0,1,1,1],[1,1,1,1],[2,1,1,1],[3,1,1,1],[2,0,0,0],[1,1,1,0],[2,2,0,1]] [[ programmers.co.kr 내 풀이 def solution(n, build_frame): answer = [] co..
문제주소 programmers.co.kr/learn/courses/30/lessons/17676 코딩테스트 연습 - [1차] 추석 트래픽 입력: [ 2016-09-15 20:59:57.421 0.351s, 2016-09-15 20:59:58.233 1.181s, 2016-09-15 20:59:58.299 0.8s, 2016-09-15 20:59:58.688 1.041s, 2016-09-15 20:59:59.591 1.412s, 2016-09-15 21:00:00.464 1.466s, 2016-09-15 21:00:00.741 1.581s, 2016-09-15 21:00:00.748 programmers.co.kr 내 풀이 def solution(lines): answer = 0 times = [] # 연..

문제주소 programmers.co.kr/learn/courses/30/lessons/60059 코딩테스트 연습 - 자물쇠와 열쇠 [[0, 0, 0], [1, 0, 0], [0, 1, 1]] [[1, 1, 1], [1, 1, 0], [1, 0, 1]] true programmers.co.kr 내 풀이 import copy def solution(key, lock): answer = False n = len(lock) m = len(key) # 초기화 layout = [[0] * (n+2*(m-1)) for _ in range(n+2*(m-1))] for i in range(n): for j in range(n): layout[i+m-1][j+m-1] = lock[i][j] # 대입 for rotateNu..
- Total
- Today
- Yesterday
- JPA
- 코드스쿼드
- Spring
- 네트워크
- 운영체제
- 카카오
- 우테코수업
- CS
- 월간회고
- 글쓰기미션
- 개발공부일지
- TIL
- 마스터즈코스
- TCP/IP
- 내부코드
- 학습로그
- 인증
- 객체지향
- 회고
- Transaction
- OS
- java
- DB
- 모의면접준비
- javascript
- 우아한테크코스
- JS
- React
- python
- 알고리즘
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |