알고리즘을 풀다가 최대공약수를 구해야 하는 문제가 나와, 별생각 없이 순진하게 아래와 같이 풀었다. import sys a, b = map(int, sys.stdin.readline().split()) x = max(a, b) y = min(a, b) while x % y != 0: z = x % y x = y y = z print(a * b // y) 유클리드 호제법을 사용해서 간단하게 풀었다고 생각하고 넘어갔는데.. 혹시나 해서 검색해보니 역시나 파이썬 math 라이브러리에는 최대공약수와 최소공배수를 구해주는 함수가 있었다! 그것도 유클리드 호제법을 이용해 최적화가 되어 있는! 적잖이 김이 빠지지만, 사용 방법은 아래와 같다. import math # 최대공약수 print(math.gcd(35, 65..
방금 알고리즘 문제를 풀다가 파이썬엔 무려 대칭차집합을 한 번에 찾아주는 연산이 있다는 사실에 충격을 받았다. 아무 생각도 없이 자바에서 푸는 것처럼 풀었다가 이게 웬걸.. 해서 문제를 하나하나 정리하기보단 집합과 관련된 연산을 정리하고 넘어가는 게 좋을 것 같아 여기에 글을 팠다. 설명할 내용은 이게 끝이고, 코드도 매우 짧지만, 강력하다. a = {2, 3, 5, 7, 9, 11} b = {1, 3, 5, 7, 9} a.add(13) a.update({17, 19}) a.remove(19) # 합집합 print(a | b) print(a.union(b)) # 교집합 print(a & b) print(a.intersection(b)) # 차집합 print(a - b) print(a.difference(..
좋아해서 몇 번이고 돌려본 영화와 이름이 같아, 별 다른 이유는 없지만 친해지고 싶었던 프레임워크. 굳이 발음기호대로 읽자면 '쟁고'정도가 된다지만 누구도 그렇게 쓰지 않을 것만 같은 프레임워크. 장고는 21세기 초반 미국에서 태어난, 파이썬으로 만들어진 백엔드 프레임워크이다. 분류하기에 따라 풀스택 프레임워크라고 불리기도 한다지만, 내가 거기까지 갈 일은 없으니 내겐 백엔드 프레임워크. 추가로 파이썬을 기반으로 한 웹 프레임워크 중엔 사용자가 가장 많은 듯해서 레퍼런스 얻기도 쉬울 것 같아 선택했다. 지금 내 수준은 이제 막 장고를 이용해 서버를 올리는 것을 체험해 본 정도라, 이번 글은 여기저기서 긁어온, 장고의 특징과 장단점에 대해 정리. Feature 장고의 특징은 대략 아래와 같다. MVT 디자..
목차 Before Init: Function vs. Method 결론부터 말하면 둘은 위와 같은 관계이다. 나도 아직 조금 헷갈리는데, 한 마디로 구분하자면 클래스 내에 선언된 함수를 메서드라고 부르는듯하다. 그 말은 뒤집어 말하면 파이썬의 함수는 자바와는 다르게 클래스 없이 독립적으로 선언할 수 있다는 말이 되며, 실제로 어제 작은 기능을 하나 구현해 보면서 느껴보기도 했다. 클래스에 소속되어 있는가의 유무에 따라 사용 코드에도 아래와 같은 차이가 발생하며, print() # 함수 a.create() # 메서드 따지고 들자면 메서드도 함수이기 때문에 그냥 함수라 지칭해도 틀린 표현은 아니게 된다. 그럼 본론으로 들어가자. Python Functions Creating 파이썬의 함수 정의는 매우 쉽고 간..
목차 Before Init 짧게 요약할 수 있을지 모르겠지만 시작해 보자. 파이썬은 굉장히 객체지향적인 프로그래밍 언어이다. 제목에 자료형이라고 적어두고 갑자기 왜 객체지향이 나오냐 하면, 파이썬에는 기본형 자료형이라는 것이 존재하지 않는다. 참조형 자료형 뿐이다. 즉 아래와 같은 변수 A가 존재할 때, A = 1 A에 저장되는 값은 숫자 1이 아니라 정수형 객체 1의 주소가 된다. 또한 위 변수 선언에서 알 수 있듯이, 파이썬은 동적으로(내부적으로 알아서) 변수의 타입을 지정한다. 물론 원하지 않으면 변경도 가능하다. 추가로 아마 다른 글에서 언급하게 되겠지만 위와 같은 정수형은 불변(immutable) 형 자료형인데, 이 말은 한 번 선언된 변수의 값을 바꿀 수 없다는 말이 아니다. 앞서 말했듯 파이..
- Total
- Today
- Yesterday
- 유럽
- 스프링
- 기술면접
- 남미
- 리스트
- 세모
- 지지
- 유럽여행
- 스트림
- RX100M5
- Python
- BOJ
- 중남미
- Backjoon
- 맛집
- 칼이사
- java
- 세계일주
- 야경
- 파이썬
- 백준
- 세계여행
- 자바
- a6000
- 알고리즘
- 동적계획법
- 여행
- Algorithm
- 면접 준비
- spring
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |