전체보기
-
프로그래머스 / 숫자 짝꿍코딩 테스트/Level 1 2022. 10. 27. 23:13
https://school.programmers.co.kr/learn/courses/30/lessons/131128 파이썬 억지스럽게... from collections import Counter solution = lambda num1, num2: ('0' if (result := ''.join(each * inter_n[each] for each in sorted(inter_n, reverse=True)))[0] == '0' else result) if (inter_n := Counter(list(num1)) & Counter(list(num2))) else "-1" 덜 억지스럽게... from collections import Counter def solution(num1, num2): return..
-
파이썬 초기 설정 저장 방식Python/이것저것 파이썬 2022. 10. 25. 13:20
저는 프로그램의 초기 설정들은 저장할 때, pickle을 많이 씁니다. 바이너리 파일이라 유저들이 수정하기 어렵고, 코드는 간결하죠. https://scshim.tistory.com/614 하지만 유저들이 수정하도록 열어두어야할 설정도 있습니다. 이럴 경우에는 ini, json, yaml, xml, toml, py 등을 사용합니다. 가장 많이 알려진 ini 같은 경우는 공식 문서(configparser - 구성 파일 구문 분석기)를 보는 것이 가장 좋습니다. https://docs.python.org/ko/3/library/configparser.html 전체적으론 이런 글을 참고해도 좋겠죠. https://emilkwak.github.io/python-setting-file-ext xml은 공식 문서를..
-
Lxpanel의 CPU 100% 사용Linux/Raspberry Pi OS 2022. 10. 25. 07:06
1. restart 해봅니다. lxpanelctl restart 2. lxpanel 태스크바의 오디오 관련 애플릿이 원인일 수 있습니다. 태스크바에서 오디오 관련 애플릿을 삭제합니다. 3. wifi를 감시하고 있는 lxpanel 태스크바의 Wifi/Network 모니터링 애플릿이 원인일 수 있습니다. 태스크바에서 wifi/네트워크 감시 애플릿을 삭제합니다. https://github.com/raspberrypi/linux/issues/2518
-
100명의 죄수 문제Python/이것저것 파이썬 2022. 10. 17. 12:38
https://www.youtube.com/watch?v=PE4vLbyOgw0 https://www.youtube.com/watch?v=OIi7FCmTtxc from random import shuffle def find_num(): # 죄수 번호가 들어갈 박스 boxes = {} # 죄수 번호(1~100)를 셔플. nums = [i for i in range(1, 101)] shuffle(nums) # 셔플된 죄수 번호를 하나씩 뽑아 박스에 넣는다. for i, num in enumerate(nums): boxes[i + 1] = num # 각 죄수가 방에 들어가 자신의 번호가 매겨진 박스부터 열어본다. for prisoner in range(1, 101): open_num = prisoner for ..
-
파이썬으로 버전 비교Python/이것저것 파이썬 2022. 10. 6. 13:02
버전을 비교하려면, 어떻게 하는 것이 깔끔할까요? '1.9.1' > '1.10' # True 버전은 숫자와 점으로 구성된 문자열입니다. 이런 코드가 떠오릅니다만.. import doctest def to_int_tuple(a: str) -> tuple[int]: return tuple(int(each) for each in a.split('.')) def compare(a: str, b: str) -> str: """ >>> compare('1.19', '1.10.1') '>' >>> compare('1.1', '1.10.1') '' """ a_tuple, b_tuple = to_int_tuple(a), to_int_tuple(b) if a_tuple == b_tuple: return '==' elif ..
-
django, allauth, socialaccount_set, kakao login, extra_dataPython/초간단 장고 Django 2022. 9. 23. 11:04
{% with account=user.socialaccount_set.first %} UID: {{ account.uid }} nickname: {{ account.extra_data.properties.nickname }} email: {{ account.extra_data.kakao_account.email }} age_range: {{ account.extra_data.kakao_account.age_range }} birthday: {{ account.extra_data.kakao_account.birthday }} birthday_type: {{ account.extra_data.kakao_account.birthday_type }} gender: {{ account.extra_data.kaka..
-
[장고] 그룹, 퍼미션Python/초간단 장고 Django 2022. 9. 22. 23:11
1. 장고에서 그룹을 설정과 권한 관리는 관리자 화면에서 가능하다. 2. 템플릿에서 권한 체크하는 법. Check permission inside a template in Django https://stackoverflow.com/questions/9469590/check-permission-inside-a-template-in-django # {% if perms.app_label.can_do_something %} {% if perms.account.add_email_address %} {% endif %} 관리자 화면에서 권한명을 확인. 공식 문서를 참고하자. https://docs.djangoproject.com/en/4.1/topics/auth/default/#permissions 3. 뷰 함수..
-
Django pagenation paginator.num_pagesPython/초간단 장고 Django 2022. 9. 21. 00:21
Django의 페이지네이션 기능의 자세한 설명은 다음을 참고하시고.. https://wikidocs.net/71240#_2 3-02 페이징 * `[완성 소스]` : [github.com/pahkey/jump2django/tree/3-02](https://github.com/pahkey/jump2django/tr ... wikidocs.net 저자께서 마지막에 이런 숙제를 남겨두셨네요. 지금까지 만든 페이징 기능에 '처음'과 '마지막' 링크를 추가하고 ... def list_view(request): page = request.GET.get('page', '1') px_name = request.GET.get('name', '') if name == '' or name is None: my_list = M..