일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- build
- 내휴학생활중의아주큰일
- 파이썬
- 안드로이드스튜디오
- 대학원
- androidstudio
- 컴퓨터비전
- 프로그래머스
- WebOS
- SWEA
- BFS
- 휴학
- Matrix Factorization
- git
- MSBuild
- level1
- Github
- py
- SQL
- D3
- 대학원일기
- Python
- 자바
- 컨트리뷰톤
- java
- LEVEL2
- 어렵다
- level4
- 다시풀기
- level3
- Today
- Total
목록프로그래머스 (59)
bit가 눈 앞에서 왔다갔다
https://programmers.co.kr/learn/courses/30/lessons/42746 코딩테스트 연습 - 가장 큰 수 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 programmers.co.kr 이렇게 푸니까 시간초과가 나왔다. from itertools import permutations def solution(numbers): answer = '' candi = [] perm = list(map(list,permutations(numbers, len(numbers)))) print(pe..
https://programmers.co.kr/learn/courses/30/lessons/42583 코딩테스트 연습 - 다리를 지나는 트럭 트럭 여러 대가 강을 가로지르는 일차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 다리에는 트럭이 최대 bridge_length대 올라갈 programmers.co.kr from collections import deque def solution(bridge_length, weight, truck_weights): answer = 0 bridge = [0]*bridge_length truck_weights = deque(truck_weights) while bridge: bridge.pop(0) ans..
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/42577 코딩테스트 연습 - 전화번호 목록 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조 programmers.co.kr 시간초과 떠서 효율성테스트 2개를 통과하지 못했다. def solution(phone_book): answer = True num = phone_book for i in num: size = len(i) for j in num: if i == j: continue if i == j[:size]: print(j[:size]) answer = False retu..
https://programmers.co.kr/learn/courses/30/lessons/42883 코딩테스트 연습 - 큰 수 만들기 programmers.co.kr 코드 보러 다니면서 알고리즘 공부 방식을 좀 바꾸기로 했다. 1. 코드 보고 그대로 외워서 풀지 말 것 2. 응용해서 내 코드로 소화시켜서 풀 것 나는 사고력이 약해서 이렇게 해야할 것 같다. 어차피 시간 오래 걸리는거 조금 더 힘들게 해서 오래 걸리자. 내가 푼 코드 def calc(cnum, k, i): global store if k == 0: if store < int(str(cnum)): store = int(str(cnum)) return k-=1 del cnum[i] for j in range(0,len(cnum)): calc..
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)] # 승패 확인이 되지 않은 상태..