파이썬 filter 함수 사용하는 법

이미지
filter(func, list) 와 같은 형식으로 사용한다. list의 요소를 func에 집어 넣었을 때 True가 나오는 요소들만 모아 List로 return 해준다. 예시는 다음과 같다. filter 함수의 반환값은 [2, 4, 6]이 될 것이다. func 부분에 lambda를 이용하면 좀 더 간결하게 이용할 수 있을 것이다.

Aviutl easing 그래프

이미지
 Aviutl 사용하시는 분들은 참고하시길 바랍니다.

백준 4673번 셀프 넘버 (Python)

이미지
https://www.acmicpc.net/problem/4673 이 문제에 대한 처음으로 고안한 소스는 이거였다. 문제에 나와있는 함수 d(n)을 만들고 1부터 10000까지의 수가 담긴 리스트를 만든다. 1을 생성자로 할 때 만들 수 있는 무한 수열  n, d(n), d(d(n)), d(d(d(n))), ... 의 원소를 10000보다 작은 것을 구하여 리스트에서 모두 지워준다. 그리고 리스트에서 1 다음 요소를 생성자로 할 때 만들 수 있는 무한 수열  n, d(n), d(d(n)), d(d(d(n))), ... 의 원소를 10000보다 작은 것을 구하여 리스트에서 모두 지워준다. 그리고 리스트에서 그 다음 요소를 생성자로 할 때 만들 수 있는 무한 수열  n, d(n), d(d(n)), d(d(d(n))), ... 의 원소를 10000보다 작은 것을 구하여 리스트에서 모두 지워준다. 이 과정을 반복한다. (마치 중학교 때 배웠던 에라토스테네스의 채 같은 방식으로 구현해보고자 했다) 당연히 오답! 알고리즘 복잡도가 너무 높기 때문에 시간 제한을 초과해버린다. 출력 예제와 실제 출력을 비교해보면 그래도 출력 자체는 정상적으로 되는 것 같다(?) 그래서 방식을 조금 바꿨더니 눈에 띌 정도로 시간이 많이 줄어들었다. 기본적인 발상은 똑같으나, 리스트에서 숫자를 지우는 방식이 아닌 모든 요소가 True고 요소의 개수가 10001개인 리스트의 index 값을 이용하여 index가 생성자가 있는 숫자면 False로 바꿔주는 방식으로 바꿨다. 이러한 방식으로 바꿔주니 j 변수를 다루는 while loop 부분이 좀 더 간단해져서 소스코드를 작성하기 편했다.

Python에서 input 대신 sys.stdin.readline 사용하기

  https://www.acmicpc.net/problem/15552 input은 sys.stdin.readline보다 느리다. 그렇기에 많은 작업을 하게 되는 반복문에선 sys.stdin.readline 사용이 권장된다. input과 다르게 sys.stdin.readline은 엔터(\n)까지 입력받는다. 그렇기 때문에 split을 사용해 공백을 제거하고 숫자만 받는다. 위 링크의 문제에선 입력이 두 개의 수로 고정되어 있기 때문에 map을 통해 받아오는 것이 좋을 것 같다. import sys a, b = map(int, sys.stdin.readline().split())  

QR코드 생성기 웹사이트

  http://jhdev.pe.kr/qrcode/ 안녕하세요. 블로그에 오랜만에 글을 쓰네요.. 요즘 파이썬 공부할 시간이 잘 안 나서 커밋을 꽤 오랜 기간 동안 안 하고 있었습니다. 코딩을 요즘 너무 안 한 것 같아서 오랜만에 웹을 만져봤습니다. QR코드를 만들어주는 웹 사이트입니다. 라이브러리가 다 해준 덕분에 30분만에 다 만들어서 공부가 되지는 않은 것 같네요 ㅋㅋ 나중에 QR코드 생성하는 라이브러리를 이용해서 뭘 만들지 고민되네요.. 활용도가 높을 것 같습니다.

Aviutl CoreAudioToolbox.dll 오류 해결하는 법

이미지
  Aviutl을 사용하다보면 이런 오류가 뜰 때가 있습니다. CoreAudioToolbox.dll: 지정된 모듈을 찾을 수 없습니다. 해결법은 간단합니다. https://support.apple.com/kb/DL837?locale=ko_KR&viewlocale=ko_KR 위 링크에서 QuickTime7을 설치하시면 됩니다.