파이썬의 정렬과 힙 #1

python의 sort 커스텀 정렬의 기준이 되는 가중치를 key 필드로 임의 지정할 수 있다. 원소가 이터러블일때 모두 사용가능하다. 가중치를 자유롭게 지정할 수 있다. is_prime 구현 소수 구하기 heapq, deque 짧은 정리 이진트리기반의 heapq와 연결리스트 기반의 데크는 원소를 추가하고 삭제하는 것이 배열보다 비용이 적다. heqpq : 우선순위 큐 deque : 양 끝단에서 데이터를 넣고 뺄 수 있는 …
파이썬의 정렬과 힙 #1 더보기

코딩테스트를 위한 파이썬 정리

알고리즘 스터디를 위해 파이썬에서 코딩테스트를 위해 자주 쓰이는 연산자와 내장함수 관련 내용을 간략하게 정리해봤다. 연산 기존 언어와 파이썬에서 다른 연산자 파이썬에서 나누기는 /와 //가 있다. 전자는 소수점을 표시하고 후자는 정수만을 생성한다. 파이썬의 제곱 연산자는 ** 이다. 그 외 C스타일과 동일. 추가적인 연산관련 내장함수 문자열 혹은 리스팅 + : 문자열의 연결 string[i:j] : 분할 얕은 복사 …
코딩테스트를 위한 파이썬 정리 더보기

스프링의 IoC/DI, AOP의 개념

본격적으로 스프링에서 사용되는 코드 패턴과 개념에 대해서 파고 들어간다. IoC/DI IoC; Inversion of Control 제어의 역전 객체를 직접 생성하지 않고 외부에서 구현체를 넣어줌으로써 제어권을 거꾸로 가지고 가는 현상 IoC는 즉, 설계의 패턴이다. 실체에 의존할 것인가 추상화에 의존할 것인가 DI; Dependency Injection 의존성 주입 외부에서 의존성을 받는 행동. 즉, 외부에서 new로 생성된 객체를 받는다. DI는 즉, …
스프링의 IoC/DI, AOP의 개념 더보기

SOLID; 객체지향 설계의 5원칙

이 부분은 1회차 지만 신경써서 머릿속에 넣어본다. 실제로 설계하거나 구현 할 때 적절한 모델링(추상화)와 인터페이스의 분리에 신경쓸 필요가 있겠다. 그러나 SRP-ISP와 OCP-DIP 관계의 뉘앙스 차이는 아직 잘 모르겠다. 객체지향 설계의 5원칙 SRP; 단일 책임 원칙 OCP; 개방 폐쇄 원칙 LSP; 리스코프 치환 원칙 ISP; 인터페이스 분리 원칙 DIP; 의존 역전 원칙 아주 간단한 요약 1. …
SOLID; 객체지향 설계의 5원칙 더보기

자바 객체지향의 원리와 이해 #1

서점에서 최신 트랜드?가 반영된 OOP를 찾다가 이 책에서 그것을 언급하고있고, 또한 자바 문법의 전반적인 경험을 맛본 나로써 알맞은 난이도의 책이라고 생각했다

pointer and dynamic memory allocation

포인터 요약 변수명 앞의 포인터 마스킹 *은 포인터 변수임을 알려준다 * 선언 이후에는 *pointer라고 사용했을 때 포인터가 가르키는 주소의 값을 들여다본다. 포인터는 이동할때 자료형의 크기만큼 움직인다. a[i] == *(a+i) 배열과 포인터 배열과 포인터는 동일하다 배열 선언후에는 그 이름 자체가 포인터 변수와 동일하다. 배열/포인터 변수가 단독으로 쓰이면 해당 시작 번지값으로 사용된다.따라서, 앞의 문장은 array라는 배열의 시작 …
pointer and dynamic memory allocation 더보기