일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Django
- javascript
- 우아한테크코스 2차
- S3
- docker-compose
- depends_on
- 재귀함수가 뭔가요
- MySQL server on 'db' (115)
- OperationalError
- 코딩테스트
- depends
- docker
- 우아한 테크코스 2차 합격
- AWS S3
- EC2
- 2차 코딩테스트
- DB
- AWS
- 갓재석
- github skyline
- python
- classproperty
- Spring
- classmethod
- python all testcode
- TypeError: 'property' object is not iterable
- METACLASS
- github
- springboot 3.0.0
- 프로그래머스
목록코딩테스트 (12)
hanbin.dev
recursion = int(input()) print("어느 한 컴퓨터공학과 학생이 유명한 교수님을 찾아가 물었다.") def q(recursion,cnt): print(cnt * "____" + "\"재귀함수가 뭔가요?\"") if recursion
문제 풀이 코드 def solution(board, moves): answer = 0 result_stack = [] for move in moves: for i, column in enumerate(board): if column[move - 1] != 0: if len(result_stack) > 0: if (recent := result_stack.pop()) == column[move - 1]: #1 answer += 2 board[i][move - 1] = 0 break else: result_stack.append(recent) result_stack.append(column[move - 1]) board[i][move - 1] = 0 break return answer #1 왈러스 연산자를 ..
문제 풀이 코드 def solution(a, b): return sum([x*y for x,y in zip(a, b)]) 졸리고 머리아파서 그냥 1단계 풀었다.
아이디어 DFS 문제이다. 예를 들어numbers : [ 1, 1, 1 ],target : 1이 들어왔다면 아래와 같은 이진 트리 구조를 갖는다. 노드의 종점에서 target 값과 비교해 같다면 answer에 +1을 해주는 것이다. 문제 풀이 코드 def solution(numbers, target): answer = 0 def dfs(current_total, current_index, sign): # dfs(0,0,1) nonlocal answer current_total += numbers[current_index] * sign if len(numbers)
문제 풀이 코드 import heapq def solution(scoville, K): answer = 0 heapq.heapify(scoville) #1 while True: answer += 1 heapq.heappush(scoville,heapq.heappop(scoville) + heapq.heappop(scoville) * 2) #2 if scoville[0] >= K: #3 return answer elif len(scoville)
아이디어 def solution(phone_book): for a in phone_book: for b in phone_book: if a.startswith(b) and a != b: return False return True그냥 문제 보자마자 이 코드가 생각났다. 물론 정확성 테스트는 그냥 통과하는데 효율성 테스트에서 막힌다. 다른 방법을 생각해야 했다. 제한 사항을 확인하자. phone_book의 길이가 1,000,000 이하라고 한다. 최대 O(n log n) 으로 풀어야 한다. 문제 풀이 코드 def solution(phone_book): phone_book.sort() # 1 for a,b in zip(phone_book, phone_book[1:]): # 2 if b.startswith(a..
아이디어 대기열의 첫번째가 나머지 보다 크다면 대기열에서 삭제 (인쇄) => 대기열의 첫번째 보다 나머지가 작지 않다면 대기열 맨 뒤로 보냄 하나가 인쇄 될 때 마다 answer += 1 만약 인쇄 된 문서의 순서(i)가 location과 일치한다면 answer return 하나라도 첫번째 보다 크다면 대기열 맨 뒤로 보냄 문제 풀이 코드 def solution(priorities, location): answer = 0 priorities = [(i,value) for i, value in enumerate(priorities)] # 1 while True: move_to_back = False for priority in priorities: # 2 if priorities[0][1] < priori..
문제 풀이 코드 def solution(bridge_length, weight, truck_weights): # sum(다리를 건너는 트럭) + truck_weights[0] 가 weight이 안넘으면 # 다리를 건너는 트럭.append(truck_weights[0]) # 다리를 건너는 트럭[0][1] 을 시간이 지날때 마다 += 1 해줌 # 다리를 건너는 트럭[0][1] 이 weight보다 크거나 같으면 # 다리를 건너는 트럭[0] 을 다리를 지난 트럭으로 이동 # 위 과정을 반복 time = 0 truck_weights = list(map(lambda x : [int(x),0],truck_weights)) #1 current_bridge = [] while True: time += 1 current_..