오늘은 지식in 같은 곳에서 가장 쉽게 접하는 질문 중 하나인 윤년을 계산하는 방법에 대해서 이야기해보자. 사실 코드만 써 놓으면 너무 간단하니까 윤년에 대해 몇 가지 이야기를 좀 해보도록 하겠다. 윤년이란 무엇인가? 1년은 지구가 태양을 한 바퀴도는 것을 일수로 표현한 것으로 우리는 통상 1년 = 365일이라고 알고 있다. 아주 엉뚱한 소리는 아닌데, 실제로 우리가 일상에서 쓰는 1년은 '회귀년'으로 춘분점이 동일한 위치로 돌아오는 데까지 걸리는 시간을 의미한다. 이는 엄밀하게는 365.2422일로 365일 하고도 약 5시간가량이 된다. 이 실제 1년이 365일보다 조금 더 긴 이 차이가 누적이 되어 몇 백 년이 지나면 8월이 한 겨울이 되는 등 실제 계절과 달력이 차이나는 문제가 생긴다. 그래서 지금..
어떤 유한한 집합이 주어지고, 여기에서 랜덤하게 중복없이 n개의 원소를 골라내는 작업을 구현해보자. 가장 간단하게 생각한다면 다음과 같은 알고리듬을 생각할 수 있다. 먼저 골라낼 원소를 가리키는 난수값을 발생시킨다. 1의 난수가 가리키는 집합의 원소를 고른다. 이 때 고르게 된 값이 이전에 뽑은 값과 중복되는지를 체크한다. 만약 한 번이라도 뽑았던 값이라면 버리고, 그렇지 않은 경우 결과에 추가한다. 1~3의 과정을 결과 집합의 크기가 n이 될때까지 반복한다. 로또 번호는 1~45 사이의 범위가 될 수 있기 때문에 random.randint(1, 45)를 통해서 랜덤하게 고를 수 있다. from random import randint result = [] while len(result) < 6: a = ..
과제의 시즌이 돌아왔나보다. 그리고 여느때보다도 네이버 지식즐에는 파이썬 관련 질문(이라 쓰고 숙제 대행이라 읽는다)이 넘쳐나듯 많아졌다. 오늘 눈에 많이 띈 문제는 정수를 입력받아서 한글 표기로 변환해주는 코드를 작성하는 것이었다. 예를 들어 2345라는 숫자를 주면 "이천삼백사십오"라고 변환해주는 것이다. 사실 간단한 문제다. 1. 일의 자리는 단위를 붙여읽지 않는다. 다만 일, 이, 삼, 사 .... 구 와 같이 숫자에 해당하는 글자가 온다. 2. 일의 자리가 0으로 끝나면 그 자리를 읽지 않는다. 이는 천, 백, 십의 자리에서도 마찬가지이다. 3. 십, 백, 천의 자리는 숫자를 읽은 글자와 단위 글자를 붙여준다. 입력된 수가 n 이라 할 때 다음과 같이 처리한다. 1. 현재처리중인 자리수를 나타내..
- Total
- Today
- Yesterday
- Lambda
- 리눅스
- 파일입출력
- ipython-notebook
- 복수기준정렬
- 파이썬노트북
- sorted
- 튜플언패킹
- 단어 빈도수
- mutability
- 우분투
- 함수형
- Python
- 사전
- globals()
- 변경가능
- leapYear
- locals()
- 이중리스트를 사용하지 않기
- 리스트
- jupyter-notebook
- 파이썬
- 정렬키
- python list
- dict
- 정렬기준
- iterable
- 반복자
- 표준입력
- short_circuit
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |