일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- WebOS
- 휴학
- 컴퓨터비전
- build
- Github
- LEVEL2
- 대학원일기
- 어렵다
- level3
- level1
- 대학원
- MSBuild
- D3
- 자바
- 내휴학생활중의아주큰일
- git
- SWEA
- Python
- 다시풀기
- Matrix Factorization
- 프로그래머스
- androidstudio
- SQL
- 파이썬
- java
- py
- BFS
- level4
- 컨트리뷰톤
- 안드로이드스튜디오
- Today
- Total
목록프로그래머스 (59)
bit가 눈 앞에서 왔다갔다
https://programmers.co.kr/learn/courses/30/lessons/59042 코딩테스트 연습 - 없어진 기록 찾기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr SELECT O.ANIMAL_ID, O.NAME FROM ANIMAL_OUTS O LEFT JOIN ANIMAL_INS ON ANIMAL_INS.ANIMAL_ID = O.ANIMAL_ID WHERE ANIMAL_INS.ANIMAL_ID IS NULL O..
https://programmers.co.kr/learn/courses/30/lessons/49190 코딩테스트 연습 - 방의 개수 [6, 6, 6, 4, 4, 4, 2, 2, 2, 0, 0, 0, 1, 6, 5, 5, 3, 6, 0] 3 programmers.co.kr *틀린 코드 def solution(arrows): answer = 0 coordinate = set() # 지나간 좌표 확인용 loc = [0,0] # x, y for direc in arrows: loc=list(loc) if direc == 0: loc[1] += 1 elif direc == 1: loc[0] += 1 loc[1] += 1 elif direc == 2: loc[0] += 1 elif direc == 3: loc[0]..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/AgwKf/btrtBPC4mCn/z5MLYwDVYSyb9abtLL8Yxk/img.png)
https://programmers.co.kr/learn/courses/30/lessons/42897 코딩테스트 연습 - 도둑질 도둑이 어느 마을을 털 계획을 하고 있습니다. 이 마을의 모든 집들은 아래 그림과 같이 동그랗게 배치되어 있습니다. 각 집들은 서로 인접한 집들과 방범장치가 연결되어 있기 때문에 인접한 programmers.co.kr 이렇게 실패만 주르륵 뜨는 거 처음 본다. 사정없이 빨간 글자가 파바바바ㅏ박 니 코드는 볼 것도 없다ㅋ 느낌이었다. * 틀린 코드 def solution(money): answer = 0 steal = [] for house, amount in enumerate(money): steal.append([house,amount]) for j in range(0, le..
https://programmers.co.kr/learn/courses/30/lessons/42884 코딩테스트 연습 - 단속카메라 [[-20,-15], [-14,-5], [-18,-13], [-5,-3]] 2 programmers.co.kr 1) def solution(routes): answer = 0 routes.sort(key=lambda x:x[1]) # 진출지점 기준으로 정렬 visit=[False for i in range(len(routes))] # 리스트 차원 주의하자.. for i in range(len(routes)): if visit[i] == False: answer += 1 visit[i] = True cam = routes[i][1] # 캠 갱신 for j in range(i+..
https://programmers.co.kr/learn/courses/30/lessons/42628 코딩테스트 연습 - 이중우선순위큐 programmers.co.kr def solution(operations): answer = [] arr = [] for op in operations: op = op.split() num = int(op[1]) # append할 대상입니다. if op[0] == 'I': arr.append(num) else: # D인 경우 if not arr: continue if num == 1: # 1인 경우 최댓값 삭제 tmp = max(arr) else: # -1인 경우 최솟값 삭제 tmp = min(arr) arr.remove(tmp) # print(arr) if not a..
https://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 # kruskal 알고리즘 - MST 사용, 최소의 비용으로 사이클을 형성하지 않음 def solution(n, costs): answer = 0 costs.sort(key=lambda x: x[2]) # kruskal1 - 오름차순 정렬 # costs 내부 원소들을 기준으로 sorting 할건데 그 내부의 2번째 원소 기준으로 candi = set([costs[0][0]]) # 주의! while len(candi) != n: # kruskal2 - 사이클 형..
**다시풀기 https://programmers.co.kr/learn/courses/30/lessons/43236 코딩테스트 연습 - 징검다리 출발지점부터 distance만큼 떨어진 곳에 도착지점이 있습니다. 그리고 그사이에는 바위들이 놓여있습니다. 바위 중 몇 개를 제거하려고 합니다. 예를 들어, 도착지점이 25만큼 떨어져 있고, 바위가 programmers.co.kr def solution(distance, rocks, n): rocks.sort() rocks.append(distance) left, right = 1, distance while left n: right = mid - 1 else: answer = mid left = mid + 1 return answer
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/42842 코딩테스트 연습 - 카펫 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 programmers.co.kr def solution(brown, yellow): answer = [] candi = [] width = brown//2-1 total = brown+yellow for i in range(1, width+1): # 가로 for j in range(1, i+1): # 세로 if i*j == total and i >= j: candi.append([i,j])..