본문 바로가기

DEV238

백준 알고리즘 25501번(파이썬) 백준 25501번_파이썬 알고리즘 Q. 백준 25501. 재귀의 귀재 정휘는 후배들이 재귀 함수를 잘 다루는 재귀의 귀재인지 알아보기 위해 재귀 함수와 관련된 문제를 출제하기로 했다. 팰린드롬이란, 앞에서부터 읽었을 때와 뒤에서부터 읽었을 때가 같은 문자열을 말한다. 팰린드롬의 예시로 AAA, ABBA, ABABA 등이 있고, 팰린드롬이 아닌 문자열의 예시로 ABCA, PALINDROME 등이 있다. 어떤 문자열이 팰린드롬인지 판별하는 문제는 재귀 함수를 이용해 쉽게 해결할 수 있다. 아래 코드의 isPalindrome 함수는 주어진 문자열이 팰린드롬이면 1, 팰린드롬이 아니면 0을 반환하는 함수다. def recursion(s, l, r): if l >= r: return 1 elif s[l] != s.. 2022. 10. 28.
Web 개발 :: 파이썬 Django Rest Framework(3) _ 클래스형 뷰, 프론트엔드에 출력하기 DRF(Django Rest Framework)(3) _ 클래스형 뷰(Class based View), 프론트엔드 출력하기 01. 클래스형 뷰(Class based view) (※ 공식 문서 참고 링크) - 클래스형 뷰로 변경했을 때에는 다른 클래스를 상속받을 수 있는 장점 등이 생긴다. - 공식문서에 class view 기본 템플릿이 잘 나와있기 때문에 복사하여 일부만 수정하여 사용해도 괜찮다. - 기존의 article_API view를 아래와 같이 클래스형 뷰로 변경한다. # articles/views.py ... class ArticleList(APIView): def get(self, request, format=None): articles = Article.objects.all() seriali.. 2022. 10. 27.
백준 알고리즘 17478번(파이썬) 백준 17478번_파이썬 알고리즘 Q. 백준 17478. 재귀함수가 뭔가요? 평소에 질문을 잘 받아주기로 유명한 중앙대학교의 JH 교수님은 학생들로부터 재귀함수가 무엇인지에 대하여 많은 질문을 받아왔다. 매번 질문을 잘 받아주셨던 JH 교수님이지만 그는 중앙대학교가 자신과 맞는가에 대한 고민을 항상 해왔다. 중앙대학교와 자신의 길이 맞지 않다고 생각한 JH 교수님은 결국 중앙대학교를 떠나기로 결정하였다. 떠나기 전까지도 제자들을 생각하셨던 JH 교수님은 재귀함수가 무엇인지 물어보는 학생들을 위한 작은 선물로 자동 응답 챗봇을 준비하기로 했다. JH 교수님이 만들 챗봇의 응답을 출력하는 프로그램을 만들어보자. (1) 입력 : 교수님이 출력을 원하는 재귀 횟수 N(1 ≤ N ≤ 50)이 주어진다. (2) 출.. 2022. 10. 27.
Web 개발 :: Django 머신러닝 프로젝트 Code Review _ User_TIL#37 ■ JITHub 개발일지 37일차 □ TIL(Today I Learned) :: Django 머신러닝 프로젝트 Code Review _ User 1) 문제점 및 몰랐던 점(+내가 했던 시도) (1) 유저 기능 중 회원가입 기능을 구현할 때에 중복된 유저 이름을 사용하는지 확인해야 할 때가 있다. 이 때 아래와 같이 get_user_model()을 사용하는데 사용하는 모델 이름인 User를 그대로 받아오는 것과 무슨 차이인지 궁금했다. email_exist_user = auth.get_user_model().objects.filter(email=email) username_exist_user = auth.get_user_model().objects.filter(username=username) (2) is.. 2022. 10. 26.
Web 개발 :: 파이썬 Django Rest Framework(2) _ 포스트맨, Swagger DRF(Django Rest Framework)(2) _ Postman, Swagger 01. 포스트맨 - 개발 도중에 포스트맨에서도 Collections를 만들고 아래와 같이 기존에 만들었던 url링크를 입력하여 Send버튼을 누르면 저장된 데이터를 아래와 같이 불러올 수 있다. (*이때 django 서버는 active상태여야 한다.) - 1번 게시글과 2번 게시글을 각각 가져오는 request를 만들고 저장한다.(*Save버튼을 꼭 눌러주어야 한다.) - 이렇게 지정해두면 나중에 수정사항이 생길 때 바로바로 확인이 가능하다. - 포스트맨으로 게시글 생성도 가능하다. 아래와 같이 메서드를 POST로 바꾸고, 'Body', 'raw', 'JSON'을 차례로 선택해 준 후 아래에 입력할 데이터를 dict .. 2022. 10. 26.
백준 알고리즘 10870번(파이썬) 백준 10870번_파이썬 알고리즘 Q. 백준 10870. 피보나치수 5 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 된다. n=17일때 까지 피보나치 수를 써보면 다음과 같다. 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597 n이 주어졌을 때, n번째 피보나치 수를 구하는 프로그램을 작성하시오. (1) 입력 : 첫째 줄에 n이 주어진다. n은 20보다 작거나 같은 자연수 또는 0이다. (2) 출력 : 첫째 줄에 n번째 피보나치 수를 출력한다. 입력 .. 2022. 10. 26.
Web 개발 :: Django 머신러닝 프로젝트 Code Review _ User_TIL#36 ■ JITHub 개발일지 36일차 □ TIL(Today I Learned) :: Django 머신러닝 프로젝트 Code Review _ User - 전주 진행했던 머신러닝 프로젝트에 대해 기본 Backend부분에 대해서 코드 Review를 진행하기로 했다. - 첫날은 user부분을 손보기로 했다. - views.py에서 user 템플릿을 불러올 때 TemplateDoesNotExist 오류가 발생했다. user는 현재 구조가 아래와 같이 되어있다. │ └─ user │ ├─ admin.py │ ├─ apps.py │ ├─ migrations │ │ ├─ 0001_initial.py │ │ └─ __init__.py │ ├─ models.py │ ├─ templates │ │ └─ user │ │ ├─ a.. 2022. 10. 25.
Web 개발 :: 파이썬 Django Rest Framework(1) _ 프로젝트 세팅, 모델 Serializer, CRUD 기능 구현 DRF(Django Rest Framework)(1) _ 프로젝트 세팅, 모델 Serializer, CRUD 기능 구현 01. 프로젝트 세팅 - 프로젝트 기본 환경 셋팅 # 가상환경 설치 python -m venv venv # 가상환경 실행 source venv/Scripts/activate # 장고 설치 pip install django # DRF 설치 pip install djangorestframwork # 설치된 라이브러리 저장 pip freeze > requirements.txt # 프로젝트 앱 설치 (.을 해서 현재 폴더에 만들기) django-admin startproject . - 깃 사용환경 만들기 1) .gitignore 생성(*gitignore.io 참고) 2) 원격 repo 생성 3.. 2022. 10. 25.
백준 알고리즘 10872번(파이썬) 백준 10872번_파이썬 알고리즘 Q. 백준 10872. 팩토리얼 0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오. (1) 입력 : 첫째 줄에 정수 N(0 ≤ N ≤ 12)이 주어진다. (2) 출력 : 첫째 줄에 N!을 출력한다. 입력 예시 출력 예시 10 3628800 0 1 A. 풀이 # Q 백준 10872. 팩토리얼 from math import factorial n = factorial(int(input())) print(n) 2022. 10. 25.
Web 개발 :: HTTP와 웹의 동작 방식 HTTP와 웹의 동작 방식_DNS, TCP/IP, Client/Server, request method, status code, header 01. HTTP 웹의 요청흐름 - 웹 브라우저의 흐름 (1) DNS(Domain Name System) 조회 : 웹 브라우저는 고유의 IP를 갖고 있다. (도메인이 이름이라면, IP는 전화번호 같은 개념) 터미널에서 nslookup '주소' 검색시 ip address 확인 가능하다. nslookup www.naver.com (2) HTTP 요청 메시지 작성 : request.GET 또는 request.POST 등.., Request Headers(User-Agent, Accept 등..) (3) Socket 라이브러리를 통해서 전달 (4) TCP/IP 작성(내부에 .. 2022. 10. 24.
반응형