no image
[프로그래머스] 파이썬 - 여행 경로
https://school.programmers.co.kr/learn/courses/30/lessons/43164 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr # 조건 주어진 항공권을 모두 이용하여 여행경로 짠다. # 접근 방법 너비 우선 탐색을 이용하여 출력해주면 된다. 이 떄, 가능한 경로가 2개 이상이면 사전순 정렬이기 때문에, 먼저 sort() 를 이용하여 사전 순 정렬을 해준다. bfs사용 실패 from collections import deque def solution(tickets): q = deque() start = 'ICN' answe..
2022.10.24
no image
[백준 10026] 파이썬 - 적록색 약
http://www.acmicpc.net/problem/10026 10026번: 적록색약 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록) www.acmicpc.net # 조건 적록색약은 빨간색과 초록색의 차이 거의 x 크기가 NxN인 그리드의 각 칸에 R, G , B 중 하나를 색칠한 그림 몇 개의 구역으로 나뉘어져 있는데, 구역은 같은 색 같은 색상이 상하좌우로 인접해 있는 경우에 두 글자는 같은 구역 위의 경우 - 적록색약이 아닌 사람이 보면 구역의 수 총 4개 ( 빨 2, 초1, 파 1) 적록색 약인 경우 3개 (빨-초 2개, 파 1개) 그림이 주어..
2022.10.22
[프로그래머스] 파이썬 - 순위
https://school.programmers.co.kr/learn/courses/30/lessons/49191 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr # 조건 n명의 권투선수가 참여했고 각각 1번부터 n번까지 번호 A 선수가 B 선수보다 실력이 좋다면 항상 이긴다. 하지만 몇몇 경기 결과를 분실하여 정확한 순위 매기기 힘들다. 선수의 수 n, 결과를 담은 2차원 배열 reuslt가 주어질 때, 정확하게 순위를 매길 수 있는 선수의 수를 return # 접근 방법 정확한 순위를 매길 수 있다는 것 -> 모든 선수와 경기를 하였다는 뜻이다. 따라서..
2022.10.21
[백준 11403번] 파이썬 - 경로 찾기
http://www.acmicpc.net/problem/11403 11403번: 경로 찾기 가중치 없는 방향 그래프 G가 주어졌을 때, 모든 정점 (i, j)에 대해서, i에서 j로 가는 경로가 있는지 없는지 구하는 프로그램을 작성하시오. www.acmicpc.net # 조건 정점의 개수 N N개 줄에는 그래프의 인접 행렬이 주어진다. i번째 줄의 j번째 숫자가 1인 경우 i에서 j로 가는 간선이 존재한다는 뜻 총 N개의 줄에 걸쳐 문제의 정답을 인접행렬 형식으로 출력 # 접근 방법 및 Solution 모든 그래프에 대한 정점을 받은 후 결과를 저장해줄 배열 만들기 이후 bfs를 이용하여 접근 가능한 정점 들을 기록해준다. 전형적인 bfs 문제로서 순회가 가능한 것을 체크하기 위하여 시작 지점에 1을 해..
2022.10.21
no image
[Django] REST framework - N:1 Relation
목차 사전 준비 N:1 - 역참조 데이터 조회 Django shortcuts functions 1. 사전 준비 Comment 모델 작성 및 데이터베이스 초기화 이후 Migration 진행 GET - List 댓글 데이터 목록 조회하기 Article List와 비교하며 작성해보기 GET - Detail 단일 댓글 데이터 조회하기 Article과 달리 같은 serializer 사용하기 POST Passing Additional attirbutes to .save() .save() 메서드는 특정 Serializer 인스턴스를 저장하는 과정에서 추가적인 데이터를 받을 수 있음 CommentSerializer를 통해 Serialize되는 과정에서 Parameter로 넘어온 article_pk에 해당하는 artic..
2022.10.20
no image
[Django] Rest framework-Single Model
목차 사전 준비 ModelSerializer Build RESTful API - Article 1. 사전 준비 Postman 설치 https://www.postman.com/downloads/ Postman API를 구축하고 사용하기 위한 플랫폼 API를 빠르게 만들 수 있는 여러 도구 및 기능을 제공 DRF 설치, 등록 및 패키지 목록 업데이트 pip install djangorestframework pip freeze > requirements.txt 2. ModelSerializer ModelSerializer 작성 articles/serializers.py 생성 serializers.py의 위치나 파일명은 자유롭게 작성 가능 ModelSeiralizer 작성 ModelSerializer 클래스는 ..
2022.10.20
no image
[Django] Response JSON
이전 글에서 알아보았던 JSON 형태로의 서버의 응답 변화와 다양한 방법의 JSON 응답에 대해 알아보자. 목차 Intro Response 1. Intro 서버가 응답하는 것 현재까지의 Django로 작성한 서버는 사용자에게 페이지(html)만 응답하고 있었음 하지만 사실 서버가 응답할 수 있는 것은 페이지뿐만 아니라 다양한 데이터 타입을 응답할 수 있음 이런 과정을 거치게 된다면 사용자에게 보여질 화면은 누가 구성하게 되는 걸까? JSON 데이터를 받아 화면을 구성하여 사용자에게 보여주는 것은 Front-end Framework가 담당할 예정 Front-end Framework는 Vue.js를 사용 Django는 더 이상 Template 부분에 대한 역할 담당 x 2. Response JSON 데이터를..
2022.10.20
[백준 11286번] 파이썬 - 절댓값 힙
http://www.acmicpc.net/problem/11286 11286번: 절댓값 힙 첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 0이 아니라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net # 조건 배열에 정수 x를 넣는다. 배열에서 절댓값이 가장 작은 값을 출력하고, 그 값을 배열에서 제거 절댓값이 가장 작은 값이 여러 개일 때는, 가장 작은 수를 출력하고, 배열에서 제거 입력에서 0이 주어진 회수만큼 답을 출력한다. 만약 배열이 비어있는 경우에 0이 주어진다면 0을 출력 # 접근 방법 heapq 모듈을 사용해준다. abs를 이용하여 값을 넣어줄껀데 ( abs(..
2022.10.20
[백준 11659] 파이썬 - 구간 합 구하기 4
http://wwww.acmicpc.net/problem/11659 # 조건 수 N개가 주어졌을 때, i번째 수부터 j번째 수까지 합을 구하는 프로그램 작성하시오 첫 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘쨰 줄에는 N개의 수가 주어진다.ㅣ 수는 1,000보다 작거나 같은 자연수 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j가 주어진다. # 접근 방법 slicing을 통하여 합을 구해주면 된다. 이 때, slicing의 시작 구간 -1을 해주어야 한다. 위와 같이 하면 시간초과 따라서 누적합을 구해준다. 즉, 처음에 한 번 누적합 리스트를 구해준 후 B까지의 합에서 A-1까지의 합을 빼준다. import sys N, M = map(int, sys.stdin.readli..
2022.10.19