일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 프로그래머스 등굣길
- 프로그래머스 베스트앨범
- 백준 1516 게임 개발
- 백준 1043 거짓말 파이썬
- 백준 1034 램프 파이썬
- 램프 파이썬
- 프로그래머스 순위 파이썬
- 다중 컬럼 NOT IN
- SQL SERVER 장비교체
- 프로그래머스 가장 긴 팰린드롬
- 반도체 설계 파이썬
- 백준 1613 역사
- 프로그래머스 순위
- 백준 11054.가장 긴 바이토닉 부분 수열
- 순위 파이썬
- 등굣길 파이썬
- 백준 2352 반도체 설계 파이썬
- 프로그래머스 여행경로
- 트리의 지름 파이썬
- SWEA
- 백준 1238 파티 파이썬
- 역사 파이썬
- SQL SERVER MIGRATION
- 베스트앨범 파이썬
- 게임 개발 파이썬
- 백준 1167 트리의 지름 파이썬
- 가장 긴 바이토닉 부분 수열 파이썬
- 다리 만들기 파이썬
- 백준 2146 다리 만들기
- 가장 긴 팰린드롬 파이썬
- Today
- Total
목록전체 글 (231)
공부, 기록
문제링크 : programmers.co.kr/learn/courses/30/lessons/42898 코딩테스트 연습 - 등굣길 계속되는 폭우로 일부 지역이 물에 잠겼습니다. 물에 잠기지 않은 지역을 통해 학교를 가려고 합니다. 집에서 학교까지 가는 길은 m x n 크기의 격자모양으로 나타낼 수 있습니다. 아래 그림은 m = programmers.co.kr def solution(m, n, puddles): dp = [[0]*m for i in range(n)] for i in range(len(dp)): for j in range(len(dp[i])): if i == 0 and j == 0 : dp[i][j]=1 elif [j+1,i+1] in puddles: dp[i][j] = 0 else: dp[i]..
문제링크 : programmers.co.kr/learn/courses/30/lessons/42579 코딩테스트 연습 - 베스트앨범 스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다. 속한 노래가 programmers.co.kr def solution(genres, plays): answer = [] songs = dict() for i,x in enumerate(zip(genres, plays)): if x[0] not in songs: songs[x[0]]=[[i,x[1]]] else: songs[x[0]].append([i,x[1]]) suchgenre=getManyGenre(ge..
문제링크 : programmers.co.kr/learn/courses/30/lessons/43164 코딩테스트 연습 - 여행경로 [[ICN, SFO], [ICN, ATL], [SFO, ATL], [ATL, ICN], [ATL,SFO]] [ICN, ATL, ICN, SFO, ATL, SFO] programmers.co.kr def solution(tickets): routes = {} for t in tickets: routes[t[0]] = routes.get(t[0], []) + [t[1]] for r in routes: routes[r].sort(reverse=True) stack = ["ICN"] path = [] while len(stack) > 0: top = stack[-1] if top no..
문제링크 : programmers.co.kr/learn/courses/30/lessons/42628 코딩테스트 연습 - 이중우선순위큐 programmers.co.kr import heapq def solution(operations): operlist = list(operations) hq=[] answer =[] for i in operlist: oper,num = i.split(" ") if oper == "I": heapq.heappush(hq,int(num)) elif oper =="D": if len(hq)!=0: if num == "1": hq.pop(-1) elif num == "-1": heapq.heappop(hq) if len(hq) == 0: answer =[0,0] else: ans..
문제링크 : programmers.co.kr/learn/courses/30/lessons/42884 코딩테스트 연습 - 단속카메라 [[-20,15], [-14,-5], [-18,-13], [-5,-3]] 2 programmers.co.kr def solution(routes): answer = 1 routes.sort(key = lambda x : abs(x[0]-x[1])) routes.sort(key=lambda x: -x[0]) camera=list() camera.append(routes[0][0]) X=True for i in routes: check=len(camera) idx=0 while X==True: if i[0]
문제링크 : programmers.co.kr/learn/courses/30/lessons/42627 코딩테스트 연습 - 디스크 컨트롤러 하드디스크는 한 번에 하나의 작업만 수행할 수 있습니다. 디스크 컨트롤러를 구현하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 요청이 들어온 순서대로 처리하는 것입니다. 예를 programmers.co.kr import heapq as hq def solution(jobs): lens=len(jobs) answer = 0 heap = list() jobs.sort() hq.heappush(heap,jobs.pop(0)) first = hq.heappop(heap) time = first[0]+first[1] answer = first[1] lasttime=fir..
문제링크 : programmers.co.kr/learn/courses/30/lessons/49189 코딩테스트 연습 - 가장 먼 노드 6 [[3, 6], [4, 3], [3, 2], [1, 3], [1, 2], [2, 4], [5, 2]] 3 programmers.co.kr from collections import deque def solution(n, edge): graph = [[] for i in range(n+1)] for i in edge: graph[i[0]].append(i[1]) graph[i[1]].append(i[0]) queue = deque() visited=set() queue.append(1) visited.add(1) distance=[0 for i in range(n+1)]..
문제링크 : programmers.co.kr/learn/courses/30/lessons/43105 코딩테스트 연습 - 정수 삼각형 [[7], [3, 8], [8, 1, 0], [2, 7, 4, 4], [4, 5, 2, 6, 5]] 30 programmers.co.kr import copy def solution(triangle): answer = 0 dp=copy.deepcopy(triangle) for i in range(1,len(triangle)): for j in range(len(triangle[i])): if j == 0: dp[i][j]=dp[i][j]+dp[i-1][0] elif j == len(triangle[i])-1: dp[i][j] = dp[i][j]+dp[i-1][j-1] els..
문제링크 : programmers.co.kr/learn/courses/30/lessons/43163 코딩테스트 연습 - 단어 변환 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 1. 한 번에 한 개의 알파벳만 바꿀 수 programmers.co.kr def solution(begin,target,words): answer = 0 if target not in words: return 0 stack = list() stack.append(begin) visited=list() visited.append(begin) while stack: word = stack.pop(..
문제링크 : programmers.co.kr/learn/courses/30/lessons/42861 코딩테스트 연습 - 섬 연결하기 4 [[0,1,1],[0,2,2],[1,2,5],[1,3,1],[2,3,8]] 4 programmers.co.kr def solution(n, costs): answer = 0 startnum = [0] visitland=[] cost = list(costs) cost.sort(key= lambda x : x[2]) visitland.append(cost[0][0]) visitland.append(cost[0][1]) answer+=cost[0][2] cost.pop(0) while len(visitland) != n: for i in cost: if i[0] in visi..