서울 휴일 지킴이 약국
1. 새벽 2시, 해열제 하나가 급한데 약국이 전부 닫혀 있었습니다
야근을 마치고 귀가한 어느 날 밤, 아이가 갑자기 열이 39도까지 올랐습니다. 냉장고에 해열제가 떨어진 걸 확인한 순간, 시계는 이미 새벽 1시를 넘기고 있었습니다. 포털 지도에 "약국"을 검색하니 마커는 수십 개가 뜨는데, 하나씩 클릭해보면 전부 "영업 종료"였습니다. 결국 택시를 타고 강남역 부근까지 나가서야 불이 켜진 약국을 찾을 수 있었습니다.
그때 느꼈습니다. 약국이 없는 게 아니라, 지금 열려 있는 약국을 찾는 방법이 없었던 겁니다. 서울에는 야간에도 운영하는 심야 약국, 공휴일에 문을 여는 휴일지킴이 약국, 24시간 상비약을 파는 편의점이 분명히 있습니다. 문제는 이 정보가 여러 기관 사이트에 흩어져 있어서, 급한 순간에 한 번에 파악하기 어렵다는 것이었습니다.
a. 서울에도 새벽까지 여는 약국이 있습니다
서울특별시 25개 자치구에는 휴일지킴이 약국, 야간 당번 약국, 자체 심야 운영 약국이 분포되어 있습니다. 보건복지부와 각 지자체가 지정·운영하는 제도적 장치 덕분에 서울 어디에서든 일정 거리 안에 야간·휴일 운영 약국이 존재합니다.
b. 약국·심야약국·편의점을 한 화면에 담은 지도
이 도구는 일반 약국, 심야 약국, 안전상비의약품 판매 편의점의 위치를 하나의 지도 위에 통합하여 보여줍니다. 현재 내 위치에서 가장 가까운 곳, 지금 영업 중인 곳을 필터 하나로 골라낼 수 있도록 설계했습니다.
2. 도구 사용법 및 가이드
서울 지역 내에서 응급 상황 시 필요한 약품 판매처를 빠르고 정확하게 찾는 방법입니다.

-
a. 내 위치 확인 및 주변 탐색
GPS 기능을 이용하여 현재 내가 있는 서울 도심의 위치를 정확히 파악합니다. 지도 화면 좌측 상단의 '내 위치 찾기' 버튼을 누르면, 현재 위치를 중심으로 주변의 약국과 상비약 판매처가 지도에 마커로 표시됩니다.

-
b. 필요한 판매처 맞춤 필터링
화면 우측 상단의 필터 버튼을 클릭하여 원하는 목적의 장소만 지도에 띄울 수 있습니다. 일반 약국, 야간에 운영하는 심야 약국, 24시간 상비약을 파는 편의점 아이콘을 각각 선택하거나 해제하여 맞춤형으로 검색합니다.

-
c. 실시간 영업시간 및 상세 정보 확인
지도에 표시된 마커를 클릭하면 상세 정보를 담은 팝업창이 나타납니다. 해당 매장의 이름, 상세 주소, 전화번호를 확인할 수 있으며, 요일별 운영 시간과 지금 당장 영업 중인지 여부도 실시간으로 한눈에 파악할 수 있습니다.

-
d. 가장 가까운 심야 약국 자동 추천
늦은 밤 응급 상황으로 급하게 약이 필요할 때, '운영중인 가장 가까운 심야 약국' 버튼을 클릭합니다. 현재 문을 열고 정상 영업 중인 곳 중에서 내 위치와 가장 거리가 짧은 3곳을 순위별로 자동 추천해 줍니다.
3. 알아두면 큰 도움이 되는 핵심 개념
a. 휴일지킴이 약국 제도
휴일지킴이 약국은 보건복지부와 각 지방자치단체가 지정하여 공휴일·일요일에도 의약품을 조제·판매하도록 운영하는 약국입니다. 지역별로 약국들이 돌아가며 당번을 맡는 방식으로 운영되며, 매주·매월 배정이 달라질 수 있습니다. 건강보험심사평가원과 각 구청 홈페이지에서 당번 일정이 공개되지만, 급한 상황에 여러 사이트를 돌아다니며 확인하기는 쉽지 않습니다.
b. 야간 약국과 심야 약국
일반 약국은 보통 오전 9시부터 오후 6~7시까지 운영합니다. 야간 당번 약국은 지자체가 지정하여 저녁 이후에도 운영하는 약국이고, 심야 약국은 자체적으로 밤 10시 이후까지 또는 24시간 영업하는 약국입니다. 두 유형 모두 처방전 조제가 가능하다는 점에서 편의점 상비약과 근본적으로 다릅니다.
c. 안전상비의약품 — 편의점에서 살 수 있는 약
안전상비의약품은 2012년부터 약국 외 편의점 등에서 판매할 수 있도록 허가된 일반의약품입니다. 약사의 복약 지도 없이도 구매할 수 있지만, 품목이 엄격히 제한되어 있습니다.
| 구분 | 대표 품목 | 용도 |
|---|---|---|
| 해열진통제 | 아세트아미노펜 (타이레놀 등) | 발열, 두통, 치통, 근육통 |
| 감기약 | 종합감기약 | 콧물, 코막힘, 기침, 발열 |
| 소화제 | 소화효소제 | 소화불량, 식체 |
| 지사제 | 로페라미드 등 | 급성 설사 |
| 소염진통제 | 이부프로펜 등 | 염증성 통증, 생리통 |
| 외용소독제 | 과산화수소 등 | 상처 소독 |
| 파스 | 소염진통 파스 | 근육통, 타박상 |
Important
안전상비의약품은 응급 상황의 임시 조치를 위한 것입니다. 증상이 지속되면 반드시 약국이나 병원을 방문해야 합니다. 특히 영유아, 임산부, 만성질환자는 편의점 약 복용 전 약사나 의사 상담이 필요합니다.
d. 약국 유형별 한눈에 비교
| 유형 | 운영 시간 | 처방전 조제 | 일반의약품 | 상비약 | 주요 장점 |
|---|---|---|---|---|---|
| 일반 약국 | 평일 09~18시 (매장별 상이) | ✅ | ✅ | ✅ | 약사 상담, 전문의약품 |
| 휴일지킴이 약국 | 공휴일·일요일 지정 시간 | ✅ | ✅ | ✅ | 공휴일 처방전 조제 가능 |
| 심야 약국 | 22시 이후~익일 (매장별 상이) | ✅ | ✅ | ✅ | 야간 응급 시 가장 적합 |
| 편의점 (상비약) | 24시간 | ❌ | ❌ | ✅ | 접근성 최고, 즉시 구매 |
4. 이런 상황에서 활용하세요
a. 한밤중 아이가 갑자기 열이 날 때
병원 응급실에 가기 전, 해열제나 진통제가 급히 필요할 수 있습니다. 심야 약국 필터를 켜고 '가장 가까운 심야 약국' 버튼을 누르면, 지금 문을 연 곳 중 가장 가까운 3곳을 바로 확인할 수 있습니다. 처방전이 있다면 심야 약국에서 조제까지 가능합니다.
b. 주말·공휴일에 처방전을 들고 나왔을 때
토요일 오후에 병원 진료를 받고 처방전을 받았는데, 병원 근처 약국이 이미 문을 닫은 경우가 있습니다. 이때 휴일지킴이 약국을 검색하면, 공휴일에도 처방전을 조제할 수 있는 약국을 찾을 수 있습니다.
c. 서울 출장·여행 중 갑자기 아플 때
낯선 지역에서 약국을 찾아야 할 때, GPS 기반으로 현재 위치 주변의 약국을 즉시 파악할 수 있습니다. 강남구에 있든 마포구에 있든, 서울 25개 자치구 전체가 커버됩니다.
d. 가벼운 증상으로 편의점 상비약을 찾을 때
가벼운 두통이나 소화불량 정도라면 가까운 편의점에서 안전상비의약품을 구매하는 것이 가장 빠릅니다. 편의점 필터를 켜면 상비약 판매가 가능한 편의점만 지도에 표시됩니다.
Note
모든 편의점이 안전상비의약품을 판매하는 것은 아닙니다. 판매 허가를 받은 매장만 취급하며, 이 도구에는 허가된 판매처만 등록되어 있습니다.
5. 위치 기반 검색이 동작하는 원리
이 도구의 핵심은 **"내 위치에서 가장 가까운 곳"**을 찾아주는 것입니다. 단순해 보이지만, 그 안에는 브라우저 위치 API와 지리 좌표 계산이 결합되어 있습니다.
a. 브라우저 Geolocation API
'내 위치 찾기' 버튼을 누르면 브라우저가 Geolocation API를 호출하여 GPS, WiFi, 기지국 정보를 조합해 현재 좌표를 계산합니다.
// ❌ 에러 처리 없이 위치만 요청 — 권한 거부 시 아무 반응 없음
navigator.geolocation.getCurrentPosition((pos) => {
console.log(pos.coords.latitude, pos.coords.longitude);
});
// ✅ 에러 처리와 타임아웃을 포함한 안정적인 호출
navigator.geolocation.getCurrentPosition(
(position) => {
const { latitude, longitude } = position.coords;
loadNearbyPharmacies(latitude, longitude);
},
(error) => {
switch (error.code) {
case error.PERMISSION_DENIED:
showGuide('브라우저 설정에서 위치 권한을 허용해주세요.');
break;
case error.POSITION_UNAVAILABLE:
showGuide('위치 정보를 가져올 수 없습니다. 수동으로 지역을 선택해주세요.');
break;
case error.TIMEOUT:
showGuide('위치 요청 시간이 초과되었습니다. 다시 시도해주세요.');
break;
}
},
{ enableHighAccuracy: true, timeout: 10000, maximumAge: 60000 }
);
b. 가장 가까운 약국을 찾는 방법 — Haversine 공식
지도 위 두 지점 사이의 직선 거리를 구할 때는 지구가 구체라는 점을 반영한 하버사인(Haversine) 공식을 사용합니다. 위도·경도를 단순히 빼서 계산하면 거리가 왜곡됩니다.
// ❌ 위도·경도 차이를 단순 계산 — 위도에 따라 거리가 왜곡됨
function naiveDistance(lat1, lon1, lat2, lon2) {
return Math.sqrt((lat2 - lat1) ** 2 + (lon2 - lon1) ** 2);
// → 서울(위도 37°)에서 경도 1°의 실제 거리 ≈ 88km인데, 위도 1°(≈ 111km)와 동일하게 취급
}
// ✅ Haversine 공식으로 구면 거리를 정확하게 계산
function haversineDistance(lat1, lon1, lat2, lon2) {
const R = 6371; // 지구 반지름 (km)
const toRad = (deg) => (deg * Math.PI) / 180;
const dLat = toRad(lat2 - lat1);
const dLon = toRad(lon2 - lon1);
const a =
Math.sin(dLat / 2) ** 2 +
Math.cos(toRad(lat1)) * Math.cos(toRad(lat2)) * Math.sin(dLon / 2) ** 2;
return R * 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
// → 두 좌표 사이의 실제 구면 거리(km)
}
Note
서울처럼 좁은 범위에서는 단순 계산과 Haversine의 차이가 크지 않을 수 있지만, 정렬 순서에 영향을 줄 수 있습니다. "가장 가까운 3곳"을 정확히 추천하려면 Haversine 방식이 필수적입니다.
6. 자주 겪는 문제와 해결 방법
a. "내 위치 찾기를 눌러도 반응이 없어요"
원인: 브라우저의 위치 정보 접근 권한이 차단되어 있거나, HTTPS가 아닌 환경에서 접속한 경우입니다. 최신 브라우저는 보안 정책상 HTTP 환경에서 Geolocation API를 차단합니다.
// ❌ 흔한 상황: 위치 권한 요청 팝업에서 "차단"을 누른 경우
→ 이후 버튼을 눌러도 팝업이 다시 뜨지 않음
// ✅ 해결 방법:
→ Chrome: 주소창 왼쪽 자물쇠 아이콘 → "사이트 설정" → 위치 → "허용"
→ Safari: 설정 → 해당 웹사이트 → 위치 → "허용"
→ 모바일: 기기 설정 → 앱(브라우저) → 위치 권한 → "앱 사용 중에만 허용"
b. "영업 중이라고 나오는데 가보니 닫혀 있었어요"
원인: 약국의 임시 휴무, 당번 일정 변경, 또는 공공 데이터 업데이트 지연으로 인해 실제 운영 상태와 차이가 발생할 수 있습니다. 특히 휴일지킴이 약국은 매주 당번이 바뀌므로, 데이터 갱신 시점에 따라 오차가 생길 수 있습니다.
// ❌ 지도에서 "영업 중" 확인 후 바로 출발
→ 도착했더니 셔터가 내려져 있음 → 헛걸음
// ✅ 방문 전 전화 한 통으로 확인
→ 마커 클릭 → 팝업의 전화번호 확인 → 통화로 영업 여부·재고 확인 → 출발
Important
특히 심야 시간대와 명절 연휴에는 반드시 출발 전 전화로 영업 여부를 확인하세요. 팝업창에 표시된 전화번호를 클릭하면 바로 통화할 수 있습니다.
c. "편의점에 갔는데 원하는 약이 없대요"
원인: 안전상비의약품은 법적으로 허가된 품목만 판매 가능합니다. 항생제, 처방전이 필요한 전문의약품, 허가 목록에 없는 일반의약품은 편의점에서 취급할 수 없습니다.
| 편의점에서 살 수 있는 약 | 편의점에서 살 수 없는 약 |
|---|---|
| 해열진통제 (아세트아미노펜) | 항생제 (아목시실린 등) |
| 종합감기약 | 전문 기침약 (코데인 함유) |
| 소화제 | 위장약 (제산제 일부) |
| 파스, 밴드 | 안약, 연고 (허가 외) |
| 지사제 (설사약) | 수면유도제 |
d. 공통 해결 패턴
위 문제들을 관통하는 핵심 원칙이 있습니다.
- 출발 전 전화 확인이 가장 확실합니다 — 디지털 데이터는 실시간이 아닐 수 있습니다. 특히 야간·휴일에는 30초의 통화가 30분의 헛걸음을 막아줍니다.
- 위치 권한은 미리 허용해두세요 — 급한 상황에서 설정을 찾느라 시간을 낭비하지 않도록, 평소에 브라우저 위치 권한을 허용 상태로 설정해두는 것을 권장합니다.
- 필요한 약의 종류에 따라 목적지를 구분하세요 — 처방전이 있으면 약국(심야 약국 또는 휴일지킴이 약국), 간단한 증상이면 편의점을 먼저 확인합니다.
7. 생각해볼 거리
서울이 아닌 지역에서는 야간 약국을 어떻게 찾을 수 있을까요?
휴일지킴이 약국 제도는 서울뿐 아니라 전국적으로 운영되고 있습니다. 건강보험심사평가원의 "의약품안심서비스"나 각 지자체 보건소 홈페이지에서 지역별 당번 약국 정보를 확인할 수 있습니다. 다만 농어촌 지역은 약국 밀도가 낮아 야간에 접근 가능한 약국이 수십 km 떨어져 있는 경우도 있어, 의약품 접근성의 지역 간 격차는 여전히 해결해야 할 과제입니다.
안전상비의약품 제도는 왜 품목을 엄격하게 제한할까요?
의약품은 복용량, 상호작용, 부작용 관리가 필수적이기 때문에 원칙적으로 약사의 복약 지도하에 판매됩니다. 안전상비의약품은 이 원칙의 예외로, 부작용 위험이 낮고 자가 판단으로 사용해도 비교적 안전한 품목만 허가된 것입니다. 편의성과 안전성 사이의 균형을 잡기 위한 정책적 선택이며, 의약품 오남용을 방지하면서도 야간·휴일 의약품 접근성을 높이려는 절충안이라고 볼 수 있습니다.
공공 데이터 기반 서비스의 정보 정확도는 어디까지 신뢰할 수 있을까요?
이 도구를 포함한 많은 공공 서비스는 건강보험심사평가원, 공공데이터포털 등에서 제공하는 API 데이터를 기반으로 합니다. 공공 데이터는 주기적으로 갱신되지만, 개별 약국의 임시 휴무나 갑작스러운 운영 시간 변경까지 실시간으로 반영하기는 어렵습니다. 결국 디지털 데이터는 "탐색의 시작점"이지 "최종 확인"이 아닙니다. 출발 전 전화 한 통의 습관이 데이터의 빈틈을 메워줍니다.
브라우저 탭 하나로 지금 열려 있는 가장 가까운 약국을 찾아내고 — 새벽에도 공휴일에도 헛걸음 없이 필요한 약을 구할 수 있습니다. 그것만으로도 이 도구의 역할은 충분하다고 생각합니다.