일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- build
- 다시풀기
- BFS
- 대학원일기
- 안드로이드스튜디오
- level1
- java
- level3
- Python
- 컴퓨터비전
- 대학원
- 컨트리뷰톤
- LEVEL2
- 휴학
- SWEA
- WebOS
- D3
- 내휴학생활중의아주큰일
- SQL
- 자바
- level4
- Matrix Factorization
- 어렵다
- androidstudio
- 프로그래머스
- Github
- git
- MSBuild
- 파이썬
- py
- Today
- Total
목록level3 (17)
bit가 눈 앞에서 왔다갔다
https://programmers.co.kr/learn/courses/30/lessons/42579 코딩테스트 연습 - 베스트앨범 스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다. 속한 노래가 programmers.co.kr def solution(genres, plays): answer = [] dict = {} for i in range(len(genres)): if genres[i] in dict: dict[genres[i]][0].append(i) dict[genres[i]][1] += plays[i] else: dict[genres[i]] = [[i], plays[i]] ..
https://programmers.co.kr/learn/courses/30/lessons/43163 코딩테스트 연습 - 단어 변환 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 1. 한 번에 한 개의 알파벳만 바꿀 수 programmers.co.kr from collections import deque def bfs(begin, target, words, visited): if target not in words: return 0 deq = deque([[begin, 0]]) # 주의 while deq: cur, depth = deq.popleft() if cur ..
https://programmers.co.kr/learn/courses/30/lessons/43238 코딩테스트 연습 - 입국심사 n명이 입국심사를 위해 줄을 서서 기다리고 있습니다. 각 입국심사대에 있는 심사관마다 심사하는데 걸리는 시간은 다릅니다. 처음에 모든 심사대는 비어있습니다. 한 심사대에서는 동시에 한 programmers.co.kr def solution(n, times): answer = 0 right = max(times)*n left = 0 while left= n: answer = mid right = mid -1 break if people
https://programmers.co.kr/learn/courses/30/lessons/42898 코딩테스트 연습 - 등굣길 계속되는 폭우로 일부 지역이 물에 잠겼습니다. 물에 잠기지 않은 지역을 통해 학교를 가려고 합니다. 집에서 학교까지 가는 길은 m x n 크기의 격자모양으로 나타낼 수 있습니다. 아래 그림은 m = programmers.co.kr def solution(m, n, puddles): # m-우, n-하 answer = 0 dp = [[0]*(m+1) for i in range(n+1)] dp[1][1] = 1 # 집 for i in range(1, n+1): for j in range(1, m+1): if i == 1 and j == 1: continue if [j,i] in p..
https://programmers.co.kr/learn/courses/30/lessons/43162 코딩테스트 연습 - 네트워크 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있 programmers.co.kr 뭐가 틀린 걸까 뭘 생각하지 못한 걸까 [1,1,0,0] [1,1,0,0], [0,0,1,1], [0,0,1,1]과 같은 상황을 생각 못함. 이러면 네트워크가 4개가 됨 이런 경우뿐만 아니라 1-2 3-4-5 6 이런 상황도 고려가 안됨. 생각을 잘못함 ㅇㅇ 서로 가리키고 있는 것을 파악해줘야 했구나 생각이 들었다가 당이 떨어졌는지 뇌 정지가 왔음. 멍 때..
https://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 def solution(triangle): answer = 0 for i in range(1, len(triangle)): for j in range(len(triangle[i])): if j==0: triangle[i][j] += triangle[i-1][0] elif j==len(triangle[i])-1: triangle[i][j] += triangle[i-1][-1] else: triangle[i][j] += max(triangl..
https://programmers.co.kr/learn/courses/30/lessons/49191 코딩테스트 연습 - 순위 5 [[4, 3], [4, 2], [3, 2], [1, 2], [2, 5]] 2 programmers.co.kr 그래프 문제에 들어가있어서 무조건 bfs dfs로 풀려고 했는데 찾아보니까 다들 set 같은 걸 이용해서 풀었다. 그래프 식 코드는 아침에 찾아보자. 스스로 칭찬 하나 - dfs bfs 극혐했는데, 접근이 좋아졌다는 점. * Floyd-Warshall 알고리즘 적용 (DP) def solution(n, results): answer = 0 beat = [[None for _ in range(n+1)] for _ in range(n+1)] # 승패 확인이 되지 않은 상태..
https://programmers.co.kr/learn/courses/30/lessons/42627 코딩테스트 연습 - 디스크 컨트롤러 하드디스크는 한 번에 하나의 작업만 수행할 수 있습니다. 디스크 컨트롤러를 구현하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 요청이 들어온 순서대로 처리하는 것입니다. 예를 programmers.co.kr import heapq def solution(jobs): answer = 0 i = 0 start = -1 now = 0 heap = [] while i < len(jobs): for j in jobs: # 도착, 소요 if start < j[0] 0: curr = heapq.heappop(heap) # 소요, 도착 start = now now += cu..