일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- AWS
- js
- PYTHON
- API
- java
- MAC
- 백준
- 알고리즘 연습
- javascript
- 파이썬
- 알고리즘 문제
- Git
- es6
- 알고리즘
- form
- react
- django widget
- django ORM
- 알고리즘 풀이
- c++
- Algorithm
- 장고
- django rest framework
- Baekjoon
- Django
- web
- DRF
- CSS
- 파이썬 알고리즘
- HTML
- Today
- Total
목록분류 전체보기 (341)
수학과의 좌충우돌 프로그래밍
건국대 병원에서 메디컬 해커톤을 주최하여 참여하였습니다. 올해 초 개발을 시작하고 나서 해커톤을 두 차례 주최하긴 하였지만 참여하는 건 처음이라 설레는 마음으로 시작했습니다. 모집대상이 대학생 뿐만 아니라 일반인, 예비창업자, 스타트업 모두 포함되어 수준 높은 결과물들을 볼 기대도 하였습니다. 해커톤 당일, 해커톤은 건국대학교나 건국대병원이 아닌 더 클래식 500 에서 진행되었습니다. 건물의 외관부터 내부에 이르기까지 해커톤을 하기에 너무나 과분하다는 생각이 들 정도로 좋았습니다. 건물에 들어가니 북금곰과 기린도 반겨주었습니다. 성공적으로 오프닝을 마친 후에는 멘토 분들의 강연도 듣고 해커톤을 어떻게 진행할지에 대한 안내사항도 들었습니다. 심사기준은 다음과 같았습니다. 가장 어려웠던 점은 저 안에 비즈니..
ModelSerializer 를 통한 JSON 직렬화 DRF 에서는 ModelSerializer 를 통해 JSONRenderer 에서 변환가능한 형태로 먼저 데이터를 변환합니다. Serializer 는 장고의 Form 과 유사하며 ModelSerializer는 장고의 ModelForm과 유사합니다. 둘의 결정적인 차이는 Form 은 html 을 생성하고 Serializer는 JSON 문자열을 생성하는 차이가 있습니다. 실습을 위하여 간단히 모델을 정의하였습니다. # models.py from django.db import models class Post(models.Model): title = models.CharField(max_length=100) message = models.TextField() ..
DRF 라고 불리는 django rest framework 를 학습하기 이전에 기초적인 내용에 대해 알아보고자 합니다. JSON JSON 은 JavaScript Object Notation 의 줄임말로서 데이터의 송수신을 자바스크립트 객체로서 수행할 수 있게끔 하는 가벼운 문자열 데이터 표현식입니다. JSON 이 등장하기 이전에는 XML 이 그 역할를 독차지 하고 있었습니다. 하지만 XML 은 비교적 크기가 무겁다는 이유로 요즘은 JSON 이 더 많은 지분을 확보하고 있습니다. XML 이란? eXtensible Markup Language 의 줄임말로서 html 과 많이 비교됩니다. 둘의 결정적인 차이는 html 은 테그들을 통해서 데이터를 표현하는 마크업 언어이고 XML 은 데이터를 설명하는 마크업 언..
https://www.acmicpc.net/problem/17968 17968번: Fire on Field We define A as a sequence of positive integers like the following. Let A[0] = 1, A[1] = 1. For a positive integer i ≥ 2, A[i] is the smallest positive integer under the condition that no three terms A[i − 2k], A[i − k], and A[i] form an arithmetic progress www.acmicpc.net 2019 acm icpc Seoul A번 입니다. 해당 대회의 문제 중에 제일 쉬운 문제로 단순 구현 문제입니다. #..
구글 검색을 하다보면 검색 결과에 위 이미지와 같이 평점과 리뷰 등이 나오는 걸 볼 수 있습니다. 검색 결과에 위와 같은 내용을 노출시킨다면 사용자로 하여금 신뢰도를 얻을 수 있고 더 높은 클릭 수를 부를 수 있을 겁니다. 이를 위해서는 스키마 마크업을 이용하여 Structed Data 를 웹페이지에 넣어야 합니다. 우리의 웹페이지는 html 로 이루어져 있습니다. html 은 데이터와 그 형식을 표시해줄 뿐, 데이터가 어떤 데이터인지는 알지 못합니다. 그저 텍스트로만 인식하는 거지 텍스트가 사람이름인지, 건물의 이름인지 등을 구분하지 못한다는 소리죠. 이를 구분해주기 위해 스키마 마크업이 필요한 것이죠. 스키마 (Schema) 란? 데이터의 데이터 라는 의미입니다. 해당 데이터가 어떤 데이터인지 설명해..
https://www.acmicpc.net/problem/11404 11404번: 플로이드 첫째 줄에 도시의 개수 n(1 ≤ n ≤ 100)이 주어지고 둘째 줄에는 버스의 개수 m(1 ≤ m ≤ 100,000)이 주어진다. 그리고 셋째 줄부터 m+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 버스의 출발 도시의 번호가 주어진다. 버스의 정보는 버스의 시작 도시 a, 도착 도시 b, 한 번 타는데 필요한 비용 c로 이루어져 있다. 시작 도시와 도착 도시가 같은 경우는 없다. 비용은 100,000보다 작거나 같은 자연수이다. 시작 www.acmicpc.net 전형적인 플로이드 와샬 알고리즘을 사용하여 해결하는 문제였습니다. 플로이드 와샬 알고리즘이란? [Algorithm] 플로이드 와샬(F..
그래프에서 정점끼리의 최단 경로를 구하는 방법은 여러가지가 있습니다. 플로이드 와샬 알고리즘에 대해서 알아보기 전에 이에 대해서 간단히 살펴보도록 하겠습니다. 하나의 정점에서 다른 하나의 정점까지의 최단 경로를 구하는 문제 single source and single destination shortest path problem 하나의 정점에서 다른 모든 정점까지의 최단 경로를 구하는 문제 single source shortest path problem 하나의 목적지로가는 모든 최단 경로를 구하는 문제 single destination shortest path problem 모든 최단 경로를 구하는 문제 all pairs shortest path problem Floyd-Warshall 알고리즘이란? Fl..
Bellman-Ford 알고리즘이란? Bellman-Ford 알고리즘이란, 한 노드에서 다른 노드까지의 최단거리를 구하는 알고리즘입니다. 벨만포드 알고리즘 외에 최단거리를 구하는 알고리즘은 여럿 있지만 벨만포드는 가중치가 음수 일 때도 사용이 가능합니다. 하지만 다익스트라 알고리즘에 비해 느리므로 가중치가 모두 양수일 경우에는 굳이 벨만포드 알고리즘을 사용할 필요가 없습니다. 음수간선 음수간선이 있을 경우 어떠한 문제가 생길지 알아보도록 하겠습니다. 아래 그래프에서 s 에서 출발하여 g 로 도착하는 경우를 생각해봅시다. s -> a -> b -> g 이 경우도 물론 음수간선이 존재합니다. 하지만 문제가 되는 경우는 없습니다. 3+(-4)+4 로 가중치 3으로 도착할 수 있습니다. s -> c -> d -..
Prim 알고리즘이란? Prim 알고리즘이란, 그래프에서 MST 를 찾는 알고리즘입니다. MST 가 무엇인지 모르신다면 아래 링크를 참고해주세요. Spanning Tree 와 MST [Algorithm] Spanning Tree 와 MST, 스패닝 트리와 최소 스패닝 트리 Spanning Tree 란? Spanning Tree 란 스패닝 트리라고 읽으며 다른 말로 신장트리 라고도 합니다. 이는 그래프 내의 모든 정점을 포함하는 트리를 말합니다. 그래프의 일부 간선을 이용해 만든 트리로서 항상 그래.. ssungkang.tistory.com 이 알고리즘은 MST 를 찾기 위해서 시작 정점에서부터 단계적으로 확장해나갑니다. 특이한 점은 MST 를 찾기위해서는 간선을 선택해야 하지만 Prim 은 정점 선택을 ..
Kruskal 알고리즘이란? Kruskal 알고리즘이란, 그래프에서 MST 를 찾는 알고리즘입니다. MST 가 무엇인지 모르신다면 아래 링크를 참고해주세요. Spanning Tree 와 MST [Algorithm] Spanning Tree 와 MST, 스패닝 트리와 최소 스패닝 트리 Spanning Tree 란? Spanning Tree 란 스패닝 트리라고 읽으며 다른 말로 신장트리 라고도 합니다. 이는 그래프 내의 모든 정점을 포함하는 트리를 말합니다. 그래프의 일부 간선을 이용해 만든 트리로서 항상 그래.. ssungkang.tistory.com 이 알고리즘은 MST 를 찾기 위해서 greedy 하게 접근합니다. greedy 하게 접근한다는 말은 현재 순간에 최적의 선택을 한다는 의미인데 최소 비용으..