분류 전체보기 (44) 썸네일형 리스트형 한국 지도 시각화하기 및 gps 표시 ( D3.js v5를 이용하여) 데이터 시각화로 유명한 오픈소스로 D3.js가 있습니다. v5 버전과 topojson을 이용하여 이번 포스팅에서는 한국 지도 시각화를 구현해보고자 합니다. 앞서, 우리나라 지도에 대한 경계선 데이터가 필요합니다. ( 데이터는 오른편 링크에 공개되어 있으니 이를 참조하시기 바랍니다. 경계선 JSON 데이터 ) 그리고 테스트를 위해 아래와 같이 점에 대한 데이터를 구성합니다. 1 2 3 4 5 6 7 8 9 10 11 12 [ { "tag": "spot1", "lat": 35.86, "lon": 129.18 }, { "tag": "spot2", "lat": 36.13, "lon": 129.25 } ] cs 가장 먼저 장고를 이용해 기본적인 서버를 구현합니다. $ python manage.py startapp.. 2243 사탕 상자 Fenwick Tree(Binary Indexed Tree)를 이용하여 풀 수 있다. 이 때, 캔디의 종류는 100만개이다. 이에 따라 트리의 크기를 100만으로 설정하고, 문제의 요구사항에 따라 Update를 진행하면 된다. 문제는 몇 번째 캔디인지 찾는 방법인데, 이는 이분 탐색을 이용하여 해결할 수 있다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445class FenwickTree: def __init__(self): self.size = 1000000 self.tree = [0 for _ in range( self.size + 1)] def update(self, _idx, _diff): while.. 3653 영화 수집 Fenwick Tree(Binary Indexed Tree)를 이용하여 문제를 해결할 수 있다. 이 때, 가지고 있는 영화의 수를 N, 선택할 영화의 영화의 수를 M이라고 할 때 트리를 N + M 크기로 구성하여 풀 수 있다. M개의 공백 구간이 있고, 이 후에 N개에 영화를 순서대로 하나씩 할당하며(Update) 트리의 초기 값을 설정한다. 이 후, 영화를 선택할 때 마다 M 크기의 공백 구간에서 오른쪽에서 하나씩 할당하며(Update) 문제 해결을 진행해나간다. (문제에서는 선택한 영화를 가장 위로 올린다는 것을 공백 구간의 오른편에서 부터 채워나간다고 생각하면 된다.) 이 때, 현재 선택할 영화가 몇 번째에 있는 지에 대해 간단한 배열 처리로 인덱싱을 해주는 것이 좋다. 123456789101112.. 14432 우물 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576#include #include #define MAX 100001 using namespace std; void data_in();bool solution(int _current); int num_of_town, num_of_road;vector vec_of_weight;vector adj_list_graph;bool visited[MAX];long long result; int main() { data_in(); solution(1); result +.. 3665 최종 순위 위상 정렬을 이용한다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127#include #include #include #include #include #define MAX 501 using namespace std; void initialize();void swap_te.. 3392 화성 지도 평면 상에서 라인 스위핑을 이용한다. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697#include #include #include #define MAX 30001 using namespace std; typedef struct LINE { int pos_x, pos_y_bottom, pos_y_top; bool IS_ENDLINE; bool operatorpos_x y1 >> x2 >> y2; vec_of_lines.pus.. 1867 돌맹이 제거 간단한 이분 매칭 문제이다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869#include #include #include using namespace std; int map_size, num_stones;vector bipar_match_graph;vector col_visited;vector bipar_matched_pair; void initialize();int bipartite_matching();bool dfs(int current_vertex); int main() { int result; initialize(.. 2011 암호코드 DP와 몇개의 예외처리로 문제를 해결할 수 있다. 12345678910111213141516171819202122232425262728293031MOD = 1000000 def data_in(): return input() def isAlpha( prev, ch2): return 10 이전 1 2 3 4 5 6 다음