본문 바로가기

전체 글

(104)
백준 1931번 회의실배정 _ 탐욕알고리즘 (Greedy Algorithm) (python) 문제: https://www.acmicpc.net/problem/1931 1931번: 회의실배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 이번 1931번 문제는 정답률은 낮지만 탐욕알고리즘을 이미 알고 있었던 사람이라면, 정말 쉽게 접근이 가능했을 문제입니다. 탐욕 알고리즘이란? 모든 경우의 수를 생각하여 최선을 찾아내는 브루트포스나 동적계획법과는 달리 매 순간 순간의 선택에서 최선을 선택하는 알고리즘이라고 생각하면 되는데요. 이 문제의 경우 모든 회의 가능한 경우의 수 중 가장 많이 회의할 수 있는 경우를 찾는 형태가 브루트포스나 동적계획법의 형태라면, 그 때 그 때, 빨리 끝낼 수 있는 회의부터 끝내는 게 탐욕알고리즘이라고 할 수 있겠죠...
울산 코로나 맵 이용 가이드 저번주에 후배들과 개발했던 울산 코로나맵이 SNS나 뉴스, 신문 등의 매체를 통해 이용자가 확산됨에 따라 유입자가 계속 발생하여 별도로 이렇게 이용가이드를 작성해보려고 합니다. 코로나 맵을 이용하시는 분들께 많은 도움이 되셨으면 좋겠습니다. 울산 코로나19 맵 사이트 주소: https://coronamap-ulsan.site 코로나 울산 확진 29 | 완치 9 사망 0 --> 울산 지역만을 대상으로 자세한 정보를 제공하기 위한 코로나맵입니다. 표기된 확진자 경로는 방역소독이 완료되었습니다. 소독 이후에는 바이러스에 위험노출이 없습니다. 마스크 정보는 10분 간격으로 업데이트 되고 있으나 실제 약국 및 매장의 판매현황과 차이가 있을 수 있습니다. 이 점 양해부탁드리며, 마스크 보급을 위해 힘써주시는 분들을..
백준 2178번 미로 탐색 _ BFS (python) 문제: https://www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net 이번에 풀어볼 문제는 BFS(Breadth First Search) 너비우선탐색에 관한 심화 문제랍니다. 이전 2667번에서 DFS를 활용하여 문제를 풀었었던 것 처럼 1260번에서 기본적으로 구현했었던 DFS와 BFS의 구현을 활용하면 쉽게 풀 수 있는데요, 혹시 BFS의 구현이 기본적으로 어려우신 분들은 제 이전 1260번 풀이 포스팅을 참고해주세요 :) 2020/03/15 - [Programming/백준 문제풀이] ..
백준 2667번 단지번호붙이기 _ DFS (python) 문제: https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집들의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여기서 연결되었다는 것은 어떤 집이 좌우, 혹은 아래위로 다른 집이 있는 경우를 말한다. 대각선상에 집이 있는 경우는 연결된 것이 아니다. 는 을 단지별로 번호를 붙인 것이다. 지도를 입력하여 단지수를 출력하고, 각 단지에 속하는 집의 수 www.acmicpc.net 이번에 풀어볼 문제는 바로 이전 포스팅에서 구현했던 DFS와 BFS문제를 활용하는 문제입니다. 그 중 DFS를 활용하는 대표적인 문제인데요. 혹시 DFS나 ..
백준 1260번 DFS와 BFS (python 구현) 문제: https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사이에 여러 개의 간선이 있을 수 있다. 입력으로 주어지는 간선은 양방향이다. www.acmicpc.net 이번 1260번 문제는 낮은 정답률과는 달리 기본적인 트리 탐색방법인 DFS(Deapth-First-Search, 깊이우선탐색)과 BFS(Breadth-First-Search, 너비우선탐색)을 구현할 수 있는 가에 대한 문제였어요. 하지만 DFS나 BFS의 기본적인 개념을 모르셨..
Geolocation을 활용한 사용자 위치 표시 (카카오맵 API) 이 포스팅은 내가 울산코로나맵을 기획 제작하는 과정에서 가장 애먹었던 부분이다. 사실 geolocation자체가 원래 잘 작동하지 않는 놈이다... 지원하지 않는 브라우저 환경도 많으며 보안 이슈로 https가 아닌 http에서는 지원하지 않는다. 때문에 현재 제작된 코로나맵들의 geolocation 역시 말을 잘 안 듣는 것을 볼 수 있다. 그나마 오류를 줄여본 코드는 다음과 같다. 먼저 gps_check 함수를 통해 시작하자마자 gps를 통해 사용자의 위치에 접근하고 허용 시, 사용자의 위치를 반환하여 저장한다. var gps_use = null; //gps의 사용가능 여부 var gps_lat = null; // 위도 var gps_lng = null; // 경도 var gps_position; /..
웹 어플리케이션 모바일 화면 확대 방지 (입력, 더블탭, 확대) 웹 어플리케이션을 만들때 반드시 알아둬야할 것이 있다. 바로, 사용자들의 원치 않는 화면확대가 이루어질 때가 있다는 것이다. 예를 들어 웹 어플리케이션에 검색창을 누를 때 라던지, 더블탭을 한다던지, 두 손가락으로 확대한다던지의 상황이다. 해결방법은 간단히 html과 js에 아래의 코드를 삽입하면 된다. 먼저 html에는 아래의 코드를 삽입한다. 시작 스케일을 1.0 최대 스케일을 1.0으로 설정해 놓은 뒤, 사용자가 스케일을 조절할 수 없게 하겠다는 코드이다. js파일에는 아래의 코드를 삽입한다. 첫번째 코드는 만약 두 손가락으로 화면을 클릭 시 이 이벤트를 무시하겠다는 함수이다. 두번째 코드는 만약 두번 연속 탭이 0.3초보다 짧다면 이를 무시하겠다는 것인데, 이는 두번 연속 탭하였을 때 화면이 확대..
울산 코로나맵 개발 후기 https://coronamap-ulsan.site 코로나 울산 확진 27 | 완치 5 사망 0 --> 울산 지역만을 대상으로 자세한 정보를 제공하기 위한 코로나맵입니다. 표기된 확진자 경로는 방역소독이 완료되었습니다. 소독 이후에는 바이러스에 위험노출이 없습니다. 마스크 정보는 10분 간격으로 업데이트 되고 있으나 실제 약국 및 매장의 판매현황과 차이가 있을 수 있습니다. 이 점 양해부탁드리며, 마스크 보급을 위해 힘써주시는 분들을 존중해주세요 :) 피드백 및 오류제보 | coronaulsan@gmail.com AP coronamap-ulsan.site 월요일부터 어제 밤 11시까지 쉼없이 달려서 울산 전용 코로나맵을 제작했다. 만들게 된 계기는 코로나19가 급속도로 전국적으로 확산됨에 있었다. 기존에..