C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[48275] Re:주소데이타 이용한 우편번호 찾기 알고리즘은?
소리바람.OJ [phonon] 2474 읽음    2007-03-03 09:39
효율적이지 않지만 다양한 방법이 있습니다.
간단한 예로 참고만 하세요.
우선 '이름-주소-전화번호' 에서  '-'를 기준으로 주소를 추출합니다.

주소의 주소가 '서울시 송파구 문정동 42번지'라고 가정하면
공백을 기준으로 배열에 넣고 DB에 쿼리를 던지면 되겠지요.

그러나, 여기서 고려 사항은
기준에 되는 우편번호를 대응하는 주소가 '어떤 형태로 저장되어 있는가'입니다.
또한, 한번에 원하는 우편번호를 얻기 위해서 '송파구', '문정동', '42번지'로
세번의 쿼리를 던져야 하겠지요. 스토어드 프로시져로 속도를 향상시킬 수 있겠지요.

조금 더 설명을 드리면 DB에 주소1, 주소2의 형태로 저장되어 있다면
주소1: '서울시 송파구'
주소2: '문정동 42번지'

'...where  주소1 like '%송파구' and 주소2 = '문정동 42번지'으로 검색이 가능하겠지요.

여러가지 방법으로 시도해 보세요.
퍼포먼스에서 이런저런 차이가 날겁니다.
(문자열추출/우편번호검색을 스토어드 프로시져로 하는 방법도 고려해 보세요.)

PS) 정규식을 이용하는 방법도 있습니다.
C++에서는 Boost Library가 필요할 겁니다.

chang 님이 쓰신 글 :
: 기존 회원 주소록이 있습니다.
: "이름-주소-전화번호"와 같이 정리되어 있다고 가정할때...
:
: 위 주소데이타("서울시 송파구 문정동 42번지")를 검색어로 해서 우편번호를 검색하고자 하는데
: 여간 애매한 것이 아니네요...
:
: 시중에 보면 주소 데이타를 가지고 일괄 우편번호 검색하는 프로그램이 있는걸로 보아
: 분명 해결책은 있는거 같은데...
:
: 통상 우편번호를 검색하고자 하는 경우엔
: where dong like '문정%' 와 같이 해서 찾았지만 위의 경우처럼 전체 주소를 가지고
: 해당 우편번호를 찾아내는 것은 만만치가 않네요...
:
: 특히나 시작번지와 끝번지가 나뉘어 있는 경우엔
: "zip-sido-gugun-dong-ri-st_bunji-ed_bunji"와 같이 되어 있는데
: "138829 - 서울 - 송파구 - 문정도 - '' - 10 - 100 " 인 경우
: "서울 송파구 문정동 50번지" 라는 주소와 "서울 송파구 문정동 101번지"라는 주소를
: 어떻게 정확하게 찾을 수 있을까요?
:
: 게다가 "충북/충청남도"와 같이 표기법도 다른 경우가 있을 것이고, 띄어쓰기가 개판인 경우도
: 있을텐데 심플한 해결책이 없을까 문의 드립니다...^^

+ -

관련 글 리스트
48262 주소데이타 이용한 우편번호 찾기 알고리즘은? chang 6046 2007/03/02
48275     Re:주소데이타 이용한 우편번호 찾기 알고리즘은? 소리바람.OJ 2474 2007/03/03
48264     Re:주소데이타 이용한 우편번호 찾기 알고리즘은? 김종욱 5664 2007/03/02
48265         Re:Re:너무하세요..ㅠㅠ chang 1318 2007/03/02
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.