본문 바로가기

전체 글202

[Blog 만들기] #4 FBV 방식, CBV 방식 ※ Do it! 장고 + 부트스트랩 파이썬 웹 개발의 정석(이성용, 김태곤 / 이지스퍼블리싱) 책을 참고하여 프로젝트를 진행하고 있습니다. 프로젝트 진행과정을 기록하기 위해 작성하고 있으므로 책 저작권을 위해서 간단한 내용 외 자세한 코드와 내용은 작성하지 않습니다. views.py urls.py에 들어갈 함수나 클래스 등 정의한다. views 구현하는 두가지 방식 : FBV, CBV FBV(Function based view) 함수에 기반을 둔 방법. 함수를 직접 만들어 원하는 기능을 직접 구현 blog/views.py (FBV방식) # blog/views.py FBV방식 구현 from django.shortcuts import render from .models import Post # views.p.. 2022. 4. 5.
[Blog 만들기] #3 장고 구조, 블로그 페이지 구성 ※ Do it! 장고 + 부트스트랩 파이썬 웹 개발의 정석(이성용, 김태곤 / 이지스퍼블리싱) 책을 참고하여 프로젝트를 진행하고 있습니다. 프로젝트 진행과정을 기록하기 위해 작성하고 있으므로 책 저작권을 위해서 간단한 내용 외 자세한 코드와 내용은 작성하지 않습니다. Django(장고)의 작동 구조 Django(장고)의 파일 구조 blog 만들기 프로젝트 기반으로 생성되어있는 파일 구조이다. Project.app urls.py 클라이언트가 요청하는 사이트 URL(ex-young.com)로 접속했을 때는 기본 url : young.com으로 이동하고 young.com/blog/로 접속한다면 blog 함수를 실행시키자 라는 내용들이 기술되어있다. urlpatterns 리스트의 항목(endpoint, 대상)에.. 2022. 4. 4.
[Programmers/Level1] 신고 결과 받기 (2022 KAKAO BLIND) 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 유저를 신고할 수 있습니다. 신고 횟수에 제한은 없습니다. 서로 다른 유저를 계속해서 신고할 수 있습니다. 한 유저를 여러 번 신고할 수도 있지만, 동일한 유저에 대한 신고 횟수는 1회로 처리됩니다. k번 이상 신고된 유저는 게시판 이용이 정지되며, 해당 유저를 신고한 모든 유저에게 정지 사실을 메일로 발송합니다. 유저가 신고한 모든 내용을 취합하여 마지막에 한꺼번에 게시판 이용 정지를 시키면서 정지 메일을 발송합니다. 다음은 전체 유저 목록이 ["muzi", "frodo", "apeach", "neo"]이고, k = 2.. 2022. 4. 4.
[Blog 만들기] #2 부트스트랩 적용해보기 ※ Do it! 장고 + 부트스트랩 파이썬 웹 개발의 정석(이성용, 김태곤 / 이지스퍼블리싱) 책을 참고하여 프로젝트를 진행합니다. 프로젝트 진행과정을 기록하기 위해 작성하고 있으므로 책 저작권을 위해서 간단한 내용 외 자세한 코드와 내용은 작성하지 않습니다. 부트스트랩(Bootstrap) 웹 개발에 있어 자주 사용되는 구성 요소들을 미리 디자인해둔 툴킷 웹 사이트나 웹 응용 프로그램을 작성하기 위해 사용하는 무료 소프트웨어 도구 모음 동적인 웹 사이트 및 웹 응용 개발을 위한 프론트엔드 프레임 워크로 입력 창, 버튼, 네비게이션 및 기타 구성물, 각종 레이아웃 등을 HTML 및 CSS 기반의 디자인 템플릿으로 제공하며 추가적인 자바스크립트 확장들도 포함 부트스트랩이 적용된 웹 페이지 샘플을 다양하게 제.. 2022. 3. 30.
[Blog 만들기] #1 html, CSS, Javascript, 부트스트랩 ※ Do it! 장고 + 부트스트랩 파이썬 웹 개발의 정석(이성용, 김태곤 / 이지스퍼블리싱) 책을 참고하여 프로젝트를 진행합니다. 프로젝트 진행과정을 기록하기 위해 작성하고 있으므로 책 저작권을 위해서 간단한 내용 외 자세한 코드와 내용은 작성하지 않습니다. HTML(Hyper Text Markup Language) 웹 문서를 만들기 위해 사용하는 기본적인 프로그래밍 언어의 한 종류 페이지에 제목, 문단, 표, 이미지, 동영상 등을 정의하고 그 구조와 의미를 부여하는 정적 언어 웹의 구조 담당 간단한 HTML 코드 # 현재 문서가 HTML로 작성된 웹 문서라는 의미 # 웹 문서 시작 # 주로 화면에 나타나는 내용 # 내비게이션 Home# 페이지가 이동하도록 만들 때 사용, 링크는 href로 지정 Nex.. 2022. 3. 29.
[Baekjoon(백준)] 2468 안전 영역 문제 재난방재청에서는 많은 비가 내리는 장마철에 대비해서 다음과 같은 일을 계획하고 있다. 먼저 어떤 지역의 높이 정보를 파악한다. 그다음에 그 지역에 많은 비가 내렸을 때 물에 잠기지 않는 안전한 영역이 최대로 몇 개가 만들어지는 지를 조사하려고 한다. 이때, 문제를 간단하게 하기 위하여, 장마철에 내리는 비의 양에 따라 일정한 높이 이하의 모든 지점은 물에 잠긴다고 가정한다. 어떤 지역의 높이 정보는 행과 열의 크기가 각각 N인 2차원 배열 형태로 주어지며 배열의 각 원소는 해당 지점의 높이를 표시하는 자연수이다. 예를 들어, 다음은 N=5인 지역의 높이 정보이다. 이제 위와 같은 지역에 많은 비가 내려서 높이가 4 이하인 모든 지점이 물에 잠겼다고 하자. 이 경우에 물에 잠기는 지점을 회색으로 표시.. 2022. 3. 15.
[프로그래머스/Level3] 네트워크 문제 설명 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있을 때 컴퓨터 A와 컴퓨터 C도 간접적으로 연결되어 정보를 교환할 수 있습니다. 따라서 컴퓨터 A, B, C는 모두 같은 네트워크 상에 있다고 할 수 있습니다. 컴퓨터의 개수 n, 연결에 대한 정보가 담긴 2차원 배열 computers가 매개변수로 주어질 때, 네트워크의 개수를 return 하도록 solution 함수를 작성하시오. 제한사항 컴퓨터의 개수 n은 1 이상 200 이하인 자연수입니다. 각 컴퓨터는 0부터 n-1인 정수로 표현합니다. i번 컴퓨터와 j번 컴퓨터가 연결되어 있으면 computers[.. 2022. 3. 15.
[Baekjoon(백준)] 2565 전깃줄 문제 두 전봇대 A와 B 사이에 하나 둘씩 전깃줄을 추가하다 보니 전깃줄이 서로 교차하는 경우가 발생하였다. 합선의 위험이 있어 이들 중 몇 개의 전깃줄을 없애 전깃줄이 교차하지 않도록 만들려고 한다. 예를 들어, 과 같이 전깃줄이 연결되어 있는 경우 A의 1번 위치와 B의 8번 위치를 잇는 전깃줄, A의 3번 위치와 B의 9번 위치를 잇는 전깃줄, A의 4번 위치와 B의 1번 위치를 잇는 전깃줄을 없애면 남아있는 모든 전깃줄이 서로 교차하지 않게 된다. 전깃줄이 전봇대에 연결되는 위치는 전봇대 위에서부터 차례대로 번호가 매겨진다. 전깃줄의 개수와 전깃줄들이 두 전봇대에 연결되는 위치의 번호가 주어질 때, 남아있는 모든 전깃줄이 서로 교차하지 않게 하기 위해 없애야 하는 전깃줄의 최소 개수.. 2022. 3. 15.
[Algorithm] LIS(Longest Increasing Subsequence; 최장 증가 부분 수열) LIS(Longest Increasing Subsequence; 최장 증가 부분 수열) 어떠한 수열에서 오름차순으로 정렬된 가장 긴 부분 수열을 찾는 문제 이때, 부분 수열은 서로 연속할 필요는 없다. 어떠한 수열에서 일부 원소를 선택해 새로 만든 수열은 '부분 수열'이며 그 수열이 오름차순으로 정렬되어 있으면 '증가하는 부분 수열'이다. ex) 수열 [10, 20, 10, 30, 20, 50] 해당 수열에서 [10, 20, 30, 50], [10, 20, 50], [10, 50],... 등 많은 증가 부분 수열이 있지만 많은 증가 부분 수열 中 가장 길이가 긴 수열은 4개의 원소를 가진 [10, 20, 30, 50]이다. 따라서 [10, 20, 30, 50] 최장 증가 부분 수열이다. LIS는 DP(D.. 2022. 3. 14.
[Python(파이썬)]컴프리헨션(Comprehension), for문, if문 한 줄로 만들기 for문, if문 [Python] for문(반복문), if문(조건문) for문(반복문) 명령이 반복 될 수 있게 하는 문법 특정 조건을 만족할 때까지 반복하는 while과 달리 원하는 횟수, 범위만큼 반복한다. for문 기본 구조 for [변수명] in [문자열, 리스트, 튜플] : [반 young-library.tistory.com 컴프리헨션(Comprehension) 파이썬 컨테이너 자료형(리스트, 딕셔너리, 세트)에 데이터를 좀 더 쉽고 간결하게 담기 위한 문법 '반복문과 조건문을 결합하여 하나의 구문으로 만들어 담는 것' 리스트 컴프리헨션, 딕셔너리 컴프리헨션, 세트 컴프리헨션, 제너레이터 컴프리헨션이 있다. 컴프리헨션 기본 구조 리스트 컴프리헨션 : [반복 실행문 for 변수 in 순회 가능 객.. 2022. 3. 11.