Programming Language(23)
-
파이썬의 속도, 메모리 사용량
요즘수학 문제 푸는 느낌이라 재미없다고 안하던 백준을 하고 있다.(코테 보다가 내 실력에 충격먹어서 그런건 아님. 절대 아님) solved.ac에서 클래스 2를 풀던 중10989번 '수 정렬하기 3' 에서 막혔다... 파이썬으로 풀고 있었는데 자꾸 '시간 초과', '메모리 초과'가 뜨면서 실패했다... 하다가 ... 안되서 결국 검색을 했는데 파이썬은 counting sort로 해야 된다고 하는 것 같았다.근데 counting sort로 해도 안된다...llm이 짜준 counting sort로 했더니 된다...왜그런가 봤더니 함수 호출 오버헤드도 있고 사소한 것들까지 다 최적화 해줘야 되는 것 같다. input 대신 sys.stdin.readline이라던지...입력도 리스트로 받으면 메모리 낭비니까 입력..
2025.04.28 -
개행 문자가 포함된 json 읽기 - json.loads strict param
json.loads로 json 문자열을 읽을 때 개행문자 같은 제어문자가 들어있으면 에러가 뜹니다.이 에러를 없애려면 strict=False를 지정하면 됩니다.e.g. json.loads(json_str, strict=False) 공식문서 loads 설명에 strict 파라미터가 없고밑에 JSONDecoder 쪽에만 있어서 모르고 지나칠뻔... 근데 이상한걸 발견했는데loads에는 strict 파라미터가 있고 load에는 없습니다...테스트 결과 load는 항상 strict=False로 고정된 것 같습니다.뭔가 이상한...
2025.04.17 -
datetime, zoneinfo 모듈의 호환성
토이 프로젝트에 datetime, zoneinfo 모듈을 쓰다가 알아낸건데zoneinfo 모듈의 ZoneInfo 클래스는 datetime.timezone 클래스를 완벽히 대체하지는 못하는 것 같다. ZoneInfo 클래스로 타임존 정보를 줄 경우datetime.timetz로 얻은 time 객체는 tzinfo가 있지만 aware 객체는 아닌 것 같다.tzinfo는 있지만 utcoffset 정보가 제대로 세팅되어있지 않다. 공식 문서를 보면 time 객체가 aware 객체가 되려면1. tzinfo가 None이 아님.2. utcoffset 메소드가 None을 리턴하지 않아야된다.이 두 조건을 만족해야 aware 객체가 되는데위의 time 객체는 utcoffset이 None을 리턴한다. 그러나 ZoneInfo..
2025.04.16 -
Relative import
유튜브를 보다 파이썬 문법을 설명하는 채널에서 좀 잘못된 설명을 하는 것 같아 한 번 직접 설명해보려 합니다.https://www.youtube.com/watch?v=ZR-sYOdPSx8 솔직히 좀 실망했습니다...관련 분야 석사도 하시고 파이썬 관련 책까지 쓰신 분이던데 잘못된 내용을 강의로 하시길래...(정확히 말하자면 틀린 내용은 아니지만 불필요한 제약조건을 거시는...) 잡소리는 그만하고 설명하겠습니다. ----------------------------------------------------------------------------- relative import는from A import B 에서 A 부분에 .을 이용해 현재 파일(__file__) 위치를 기반으로 import하는 문법입니다...
2025.01.12 -
c 시간 함수
시간 관련 함수들의 관계 - broken down time은 시간을 나타내는 문자열 - localtime과 gmtime의 차이는 타임존 - ctime과 asctime의 차이는 인자 내가 겪은 시간 함수 관련 문제 mktime 함수 strptime으로 얻은 tm구조체를 time_t형으로 변환하려고 mktime을 썼는데 tm에 년, 월, 일, 시만 채우고 mktime을 호출하니 다른 환경에서는 정상적으로 실행되는데 내 pc 특정 파일에서만 안됐다… 뭐지??? 했는데 분, 초 까지 채우니까 된다. localtime 함수 localtime 함수는 struct tm으로 선언된 전역변수에 값을 채우고 그 주소를 리턴한다. 여러 번 호출해도 한 변수만 사용하므로 여러 번 호출할 경우 주의해야된다. c에는 이렇게 전역..
2022.08.13