파이썬 filter 함수 사용하는 법

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

GoodBye 2021, Hello 2022

이미지
수능 끝나고 정시 원서 쓸 곳을 알아보던게 엊그제 같은데, 벌써 한 해가 지났습니다. COVID-19 때문에 대학교 1학년 동안은 비대면으로 수업을 진행해서 그런지 2021년 한 해는 매우 게으르게 살았던 한 해였던 것 같습니다. 그래도 올해 여러 일이 있었고 그 일들을 회고하면서 2022년 계획을 정리해보고자 합니다. 1월~2월 - 수능이 끝난 고3 저는 21학년도 수능을 2020년 12월 3일에 응시했습니다. 그래서 1월에는 수능이 막 끝난 상태였고 수능 성적을 모의지원 사이트에 입력해서 정시 원서 쓸 대학들을 여기저기 알아보고 있었습니다. 운 좋게 한양대학교 경제금융학부 정시 추가합격에 붙어서 한양대학교에 입학하게 되었습니다. 대학에 합격한 뒤, 사촌동생을 데리고 캠퍼스를 구경하기 위해 왕십리에 갔다왔습니다. 제가 갔던 날이 졸업식 날이었는지 학사모를 쓰고 사진을 찍고 있던 사람들이 많았습니다. 캠퍼스 구경을 마친 뒤에는 왕십리가 곱창이 유명하기도 하고, 저와 사촌동생이 곱창을 매우 좋아해서 사촌 동생과 모듬곱창을 먹으러 갔습니다. 그렇게 놀기만 하면서 지내다가, 수강신청을 하게 됩니다. 파이썬을 다루는 교양 과목을 2개 신청해서 저는 개강하기 전에 파이썬에 대해 간단히 공부하기 시작했습니다. 기초적인 문법은 생활코딩 강의를 들었고, 'Do it! 파이썬 생활 프로그래밍' 책으로 연습했습니다. 3월 - 대학생활 시작 대학교 수업은 모두 비대면 수업으로 진행했습니다. 저는 비대면 수업에 익숙하지 않았고 LMS라는 시스템은 적응하기 힘들었습니다. 게다가 수능 이후 망가져 버린 수면 패턴에 아침에 일어나기도 매우 힘들어서 초반에 결석을 1~2번 정도 했습니다. 처음 해보는 무단 결석에 엄청 걱정했지만, 대학에서는 1~2번 정도 결석해도 성적에는 별 문제가 없었습니다. 4월~6월 - 학교 공부, 파이썬 공부, Apple Watch SE 구입 학교 공부를 열심히 하지는 않았습니다. 수업 중 딴 짓을 많이 했는데 특히 아침에 있던 수업은 줌에 접속한 ...

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을 설치하시면 됩니다.