일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- depends_on
- 우아한 테크코스 2차 합격
- 코딩테스트
- python
- github
- depends
- MySQL server on 'db' (115)
- DB
- EC2
- github skyline
- S3
- 프로그래머스
- METACLASS
- 재귀함수가 뭔가요
- Spring
- AWS S3
- Django
- OperationalError
- AWS
- python all testcode
- docker-compose
- 2차 코딩테스트
- springboot 3.0.0
- 갓재석
- javascript
- 우아한테크코스 2차
- docker
- classmethod
- TypeError: 'property' object is not iterable
- classproperty
목록분류 전체보기 (54)
hanbin.dev
문제 풀이 코드 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)
네임스페이스란? 네임스페이스란 프로그래밍 언어에서 특정한 객체를 이름에 따라 구분할 수 있는 공간을 의미한다. my_string = "asdf" my_integer = 12 my_list = [1,2,3] my_list2 = my_list 위 예시에서는 my_string이 "asdf"객체를 가리키고 있다. 위와 같이 이름과 객체를 연결한 것을네임스페이스 라고 한다. 왜 필요한데? 프로그래밍을 하다보면 모든 변수와 함수명을 겹치지 않도록 하는 것은 불가능 하다. 그렇기 때문에 특정한 이름의 변수 혹은 함수가 통용될 수 있는 범위를 제한하기 위해 네임스페이스가 등장한 것이다. 아래의 코드를 보자 class TestA: a = 1 class TestB: a = 2 a라는 변수이름이 중복되어 사용되고 있다. 만..
문제 풀이 코드 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)
메타클래스에 대해 알아보기 이전에 파이썬의 데이터 모델에 대한 이해가 필요하다. 파이썬에서 모든 것은 데이터를 추상화 한 객체로 이루어져 있다. 또한, 파이썬의 객체는 아이덴티티, 값, 타입을 가지고 있다. 아이덴티티 (id) id() 함수를 통해 얻을 수 있으며 객체의 수명동안 유일하고 불변함이 보장되는 정수다. 값 (value) 객체의 타입에 따라 불변할 수 있고 가변할 수도 있다. ex)tuple : 불변, list : 가변 타입 (type) 객체가 지원하는 연산들과 그 타입의 객체가 가질 수 있는 값(ex) int : 1, list : [1,2])들을 통해 객체의 특성을 정의한다. 객체의 타입은 type()을 통해 얻을 수 있으며, 불변하다. 여기서 말한 타입과 같이 파이썬의 모든 객체들은 어떠한..
아이디어 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..
OOP를 공부하다 보면 가끔 1급 객체(first-class citizen) 혹은 1급 함수에 대한 언급을 볼 수 있다. 이것에 대한 지식이 없을때 항상 이 두가지가 궁금했다. 1급 객체란 무엇일까? 함께 언급 되는 고차 함수는 무엇일까? 두가지만 알아보자 그런데 설명하기 앞서, 1급 객체와 1급 함수는 같은 개념이란 것을 알아두자 1. 1급 객체란 무엇일까? 1급 객체는 3가지 조건을 모두 충족하는 객체를 말한다. 1. 변수나 데이터에 할당 할 수 있어야 한다. 2. 객체의 인자로 넘길 수 있어야 한다. 3. 객체의 반환값으로 반환할 수 있어야 한다.위키피디아 링크 간단히 말하자면, Object로서의 특성을 모두 지닌 것을 1급 객체라고 부른다. Python의 함수는 위 세가지 조건을 모두 충족한다. ..