<!--==================== Part 1 Start ====================-->
<html lang="ko">
<head>
<meta charset="UTF-8"></meta>
<meta content="width=device-width, initial-scale=1.0" name="viewport"></meta>
<title>🚗 나의 자동차 이상형은? | 내 예산과 조건에 맞는 자동차 찾기</title>
<meta content="15가지 질문으로 나에게 딱 맞는 차를 추천해드립니다. 신차·중고차·리스 가격까지 한번에!" name="description"></meta>
<style>
/* === Reset & Base === */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body {
font-family: 'Pretendard', 'Apple SD Gothic Neo', 'Malgun Gothic', sans-serif;
background: #F0F4F8;
color: #1E293B;
min-height: 100vh;
display: flex;
align-items: flex-start;
justify-content: center;
padding: 24px 16px 60px;
}
#app {
width: 100%;
max-width: 640px;
}
/* === Header === */
.site-header {
text-align: center;
margin-bottom: 24px;
}
.site-header h1 {
font-size: 1.5rem;
font-weight: 800;
color: #1E293B;
}
.site-header p {
font-size: 0.875rem;
color: #64748B;
margin-top: 4px;
}
/* === Card Shell === */
.card {
background: #FFFFFF;
border-radius: 20px;
box-shadow: 0 4px 24px rgba(0,0,0,0.08);
padding: 32px 28px;
margin-bottom: 16px;
}
/* === Start Screen === */
#start-screen .emoji-hero {
font-size: 4rem;
text-align: center;
margin-bottom: 16px;
}
#start-screen h2 {
font-size: 1.6rem;
font-weight: 800;
text-align: center;
color: #1E293B;
line-height: 1.35;
}
#start-screen .sub {
text-align: center;
color: #64748B;
font-size: 0.9rem;
margin: 12px 0 24px;
line-height: 1.6;
}
.badge-row {
display: flex;
flex-wrap: wrap;
gap: 8px;
justify-content: center;
margin-bottom: 28px;
}
.badge {
background: #EFF6FF;
color: #3B82F6;
border-radius: 999px;
padding: 6px 14px;
font-size: 0.8rem;
font-weight: 600;
}
/* === Progress Bar === */
.progress-wrap {
margin-bottom: 20px;
}
.progress-meta {
display: flex;
justify-content: space-between;
font-size: 0.8rem;
color: #94A3B8;
margin-bottom: 6px;
}
.progress-track {
background: #E2E8F0;
border-radius: 999px;
height: 8px;
overflow: hidden;
}
.progress-fill {
background: linear-gradient(90deg, #3B82F6, #6366F1);
height: 100%;
border-radius: 999px;
transition: width 0.4s ease;
}
/* === Step Badge === */
.step-badge {
display: inline-block;
background: #EFF6FF;
color: #3B82F6;
border-radius: 999px;
padding: 4px 14px;
font-size: 0.75rem;
font-weight: 700;
margin-bottom: 12px;
}
/* === Question === */
.q-number {
font-size: 0.8rem;
color: #94A3B8;
margin-bottom: 4px;
}
.q-text {
font-size: 1.15rem;
font-weight: 800;
color: #1E293B;
line-height: 1.45;
margin-bottom: 6px;
}
.q-sub {
font-size: 0.83rem;
color: #64748B;
margin-bottom: 20px;
line-height: 1.5;
}
/* === Dilemma Banner === */
.dilemma-banner {
background: linear-gradient(135deg, #FFF7ED, #FEF2F2);
border-left: 4px solid #F97316;
border-radius: 10px;
padding: 10px 14px;
font-size: 0.82rem;
color: #92400E;
font-weight: 600;
margin-bottom: 18px;
}
/* === Option Grid === */
.opts {
display: grid;
gap: 10px;
}
.opts.cols-2 { grid-template-columns: 1fr 1fr; }
.opts.cols-1 { grid-template-columns: 1fr; }
.opt-btn {
display: flex;
align-items: center;
gap: 10px;
background: #F8FAFC;
border: 2px solid #E2E8F0;
border-radius: 14px;
padding: 14px 16px;
cursor: pointer;
transition: all 0.18s;
text-align: left;
width: 100%;
}
.opt-btn:hover {
border-color: #3B82F6;
background: #EFF6FF;
transform: translateY(-1px);
}
.opt-icon { font-size: 1.4rem; flex-shrink: 0; }
.opt-label {
font-size: 0.9rem;
font-weight: 600;
color: #1E293B;
line-height: 1.3;
}
.opt-desc {
font-size: 0.75rem;
color: #94A3B8;
margin-top: 2px;
}
/* === Dilemma VS Layout === */
.vs-grid {
display: grid;
grid-template-columns: 1fr auto 1fr;
gap: 10px;
align-items: center;
}
.vs-badge {
font-size: 1rem;
font-weight: 900;
color: #F97316;
text-align: center;
}
.vs-btn {
background: #F8FAFC;
border: 2px solid #E2E8F0;
border-radius: 16px;
padding: 18px 12px;
cursor: pointer;
text-align: center;
transition: all 0.18s;
}
.vs-btn:hover {
border-color: #F97316;
background: #FFF7ED;
transform: translateY(-2px);
}
.vs-btn .vs-icon { font-size: 2rem; margin-bottom: 8px; }
.vs-btn .vs-label {
font-size: 0.88rem;
font-weight: 700;
color: #1E293B;
line-height: 1.35;
}
.vs-btn .vs-tag {
display: inline-block;
margin-top: 6px;
background: #E2E8F0;
color: #475569;
font-size: 0.72rem;
padding: 2px 8px;
border-radius: 999px;
}
/* === Loading === */
#loading-screen {
text-align: center;
padding: 40px 20px;
}
.spinner {
width: 52px; height: 52px;
border: 5px solid #E2E8F0;
border-top-color: #3B82F6;
border-radius: 50%;
animation: spin 0.9s linear infinite;
margin: 0 auto 20px;
}
@keyframes spin { to { transform: rotate(360deg); } }
#loading-screen h3 { font-size: 1.1rem; color: #1E293B; margin-bottom: 8px; }
#loading-screen p { font-size: 0.85rem; color: #64748B; }
.loading-steps { margin-top: 20px; text-align: left; }
.loading-step {
display: flex; align-items: center; gap: 10px;
padding: 8px 0;
font-size: 0.83rem;
color: #94A3B8;
border-bottom: 1px solid #F1F5F9;
opacity: 0;
animation: fadeIn 0.4s forwards;
}
.loading-step:nth-child(1) { animation-delay: 0.3s; }
.loading-step:nth-child(2) { animation-delay: 0.8s; }
.loading-step:nth-child(3) { animation-delay: 1.3s; }
.loading-step:nth-child(4) { animation-delay: 1.8s; }
@keyframes fadeIn { to { opacity: 1; color: #1E293B; } }
/* === Result Screen === */
.result-hero {
text-align: center;
padding: 8px 0 20px;
}
.result-hero .hero-icon { font-size: 3.5rem; margin-bottom: 12px; }
.result-hero .type-badge {
display: inline-block;
background: linear-gradient(135deg, #3B82F6, #6366F1);
color: #fff;
border-radius: 999px;
padding: 6px 20px;
font-size: 0.85rem;
font-weight: 700;
margin-bottom: 12px;
}
.result-hero h2 {
font-size: 1.5rem;
font-weight: 900;
color: #1E293B;
margin-bottom: 8px;
}
.result-hero .result-desc {
font-size: 0.9rem;
color: #475569;
line-height: 1.65;
}
/* === Stats Row === */
.stats-row {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 10px;
margin: 20px 0;
}
.stat-box {
background: #F8FAFC;
border-radius: 12px;
padding: 14px 8px;
text-align: center;
}
.stat-box .stat-val {
font-size: 1.3rem;
font-weight: 900;
color: #3B82F6;
}
.stat-box .stat-lbl {
font-size: 0.72rem;
color: #94A3B8;
margin-top: 2px;
}
/* === Payment Box === */
.pay-box {
background: linear-gradient(135deg, #EFF6FF, #F0F9FF);
border: 1.5px solid #BFDBFE;
border-radius: 14px;
padding: 16px 18px;
margin: 16px 0;
}
.pay-box h4 {
font-size: 0.9rem;
font-weight: 700;
color: #1E40AF;
margin-bottom: 8px;
}
.pay-box p {
font-size: 0.83rem;
color: #1E3A5F;
line-height: 1.6;
}
/* === Section Title === */
.section-title {
font-size: 1rem;
font-weight: 800;
color: #1E293B;
margin: 24px 0 12px;
display: flex;
align-items: center;
gap: 6px;
}
/* === Car Card === */
.car-card {
background: #FFFFFF;
border: 1.5px solid #E2E8F0;
border-radius: 16px;
padding: 18px 16px;
margin-bottom: 12px;
transition: box-shadow 0.2s;
}
.car-card:hover { box-shadow: 0 4px 16px rgba(59,130,246,0.12); }
.car-card.top-pick {
border-color: #3B82F6;
box-shadow: 0 0 0 3px rgba(59,130,246,0.1);
}
.car-card-header {
display: flex;
justify-content: space-between;
align-items: flex-start;
margin-bottom: 10px;
}
.car-rank {
width: 28px; height: 28px;
border-radius: 50%;
display: flex; align-items: center; justify-content: center;
font-size: 0.8rem;
font-weight: 800;
flex-shrink: 0;
margin-right: 10px;
}
.car-rank.r1 { background: #FEF9C3; color: #92400E; }
.car-rank.r2 { background: #F1F5F9; color: #475569; }
.car-rank.r3 { background: #FEF3C7; color: #78350F; }
.car-rank.rn { background: #F1F5F9; color: #94A3B8; }
.car-info { flex: 1; }
.car-name {
font-size: 1rem;
font-weight: 800;
color: #1E293B;
}
.car-origin {
font-size: 0.75rem;
color: #94A3B8;
margin-top: 2px;
}
.car-tags {
display: flex;
flex-wrap: wrap;
gap: 5px;
margin: 10px 0;
}
.car-tag {
background: #EFF6FF;
color: #3B82F6;
border-radius: 999px;
padding: 3px 10px;
font-size: 0.72rem;
font-weight: 600;
}
.car-tag.red { background: #FEF2F2; color: #EF4444; }
.car-tag.green { background: #F0FDF4; color: #16A34A; }
.car-tag.orange { background: #FFF7ED; color: #EA580C; }
.car-price-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 8px;
margin-top: 10px;
}
.price-cell {
background: #F8FAFC;
border-radius: 10px;
padding: 10px 12px;
}
.price-cell .p-label {
font-size: 0.7rem;
color: #94A3B8;
margin-bottom: 2px;
}
.price-cell .p-val {
font-size: 0.9rem;
font-weight: 700;
color: #1E293B;
}
.price-cell .p-val span {
font-size: 0.75rem;
font-weight: 400;
color: #94A3B8;
}
.car-reason {
font-size: 0.82rem;
color: #475569;
line-height: 1.55;
margin-top: 10px;
padding-top: 10px;
border-top: 1px solid #F1F5F9;
}
/* === Tips === */
.tips-list {
list-style: none;
padding: 0;
}
.tips-list li {
display: flex;
gap: 10px;
padding: 10px 0;
border-bottom: 1px solid #F1F5F9;
font-size: 0.85rem;
color: #475569;
line-height: 1.55;
}
.tips-list li:last-child { border: none; }
.tip-icon { font-size: 1rem; flex-shrink: 0; margin-top: 1px; }
/* === Action Buttons === */
.btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 6px;
padding: 14px 20px;
border-radius: 12px;
font-size: 0.9rem;
font-weight: 700;
cursor: pointer;
border: none;
transition: all 0.18s;
width: 100%;
margin-bottom: 8px;
}
.btn-primary { background: #3B82F6; color: #fff; }
.btn-primary:hover { background: #2563EB; transform: translateY(-1px); }
.btn-secondary { background: #F1F5F9; color: #475569; border: 1.5px solid #E2E8F0; }
.btn-secondary:hover { background: #E2E8F0; }
.btn-share { background: linear-gradient(135deg, #10B981, #059669); color: #fff; }
.btn-kakao { background: #FEE500; color: #3A1D1D; }
.btn-retry { background: #F1F5F9; color: #64748B; }
.btn-row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
/* === Disclaimer === */
.disclaimer {
font-size: 0.75rem;
color: #94A3B8;
text-align: center;
line-height: 1.6;
padding: 16px;
background: #F8FAFC;
border-radius: 12px;
margin-top: 12px;
}
/* === Hidden === */
.hidden { display: none !important; }
/* === 시세 확인 버튼 === */
.site-link-btn {
display: block;
text-align: center;
padding: 12px 8px;
border-radius: 12px;
text-decoration: none;
color: #1E293B;
font-size: 0.85rem;
line-height: 1.6;
transition: opacity 0.15s;
}
.site-link-btn:hover {
opacity: 0.8;
}
.site-link-btn span {
font-size: 0.72rem;
color: #64748B;
}
/* === Car Animation === */
.emoji-hero {
font-size: 4rem;
text-align: center;
margin-bottom: 16px;
display: block;
animation: carBounce 1.2s ease-in-out infinite;
}
@keyframes carBounce {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-12px); }
}
/* === Back Button === */
.back-btn {
display: flex;
align-items: center;
gap: 6px;
background: none;
border: none;
color: #94A3B8;
font-size: 0.85rem;
font-weight: 600;
cursor: pointer;
padding: 4px 0;
margin-bottom: 16px;
transition: color 0.18s;
}
.back-btn:hover { color: #3B82F6; }
.back-btn::before { content: ''; }
/* === 구매 가능 단계 배지 === */
.afford-badge {
margin-top: 10px;
padding: 10px 12px;
border-radius: 10px;
font-size: 0.82rem;
line-height: 1.7;
}
.afford-badge.green { background:#F0FDF4; border:1.5px solid #BBF7D0; color:#166534; }
.afford-badge.yellow { background:#FFFBEB; border:1.5px solid #FDE68A; color:#92400E; }
.afford-badge.red { background:#FFF1F2; border:1.5px solid #FECDD3; color:#991B1B; }
.afford-badge span { font-size:0.75rem; opacity:0.85; }
/* === 데스크톱 === */
@media (min-width: 1024px) {
body {
padding: 40px 48px 80px;
align-items: flex-start;
}
#app {
max-width: 860px;
width: 100%;
}
.card {
padding: 40px 52px;
}
h2 {
font-size: 1.7rem;
}
.q-text {
font-size: 1.25rem;
}
.opts.cols-2 {
grid-template-columns: 1fr 1fr;
gap: 14px;
}
.car-price-grid {
grid-template-columns: repeat(3, 1fr);
}
.opt-btn {
padding: 18px 20px;
font-size: 1rem;
}
}
/* === 모바일 === */
@media (max-width: 480px) {
body { padding: 16px 12px 48px; }
.card { padding: 22px 16px; border-radius: 16px; }
.q-text { font-size: 1.05rem; }
.opts.cols-2 { grid-template-columns: 1fr; }
.vs-grid { grid-template-columns: 1fr; }
.vs-badge { display: none; }
.stats-row { grid-template-columns: repeat(3, 1fr); }
.car-price-grid { grid-template-columns: 1fr 1fr; }
.btn-row { grid-template-columns: 1fr; }
}
</style>
</head>
<!-- ==================== Part 2 Start ==================== -->
<body>
<div id="app">
<!-- Header -->
<header class="site-header">
<h1>🚗 나의 자동차 이상형은?</h1>
<p>내 예산과 조건에 맞는 자동차를 찾아드립니다</p>
</header>
<!-- ① Start Screen -->
<div class="card" id="start-screen">
<div class="emoji-hero">🚗</div>
<h2>내 성향에 딱 맞는 차,<br />지금 바로 찾아보자!</h2>
<p class="sub">
예산·탑승 인원·라이프스타일을 분석해<br />
신차·중고·리스 가격까지 한 번에 추천!
</p>
<div class="badge-row">
<span class="badge">⏱ 3분 완성</span>
<span class="badge">🚙 인기 차종 100여종</span>
<span class="badge">💰 실구매가 제공</span>
<span class="badge">📱 모바일 최적화</span>
</div>
<button class="btn btn-primary pulse" onclick="startTest()">
🔍 테스트 시작하기
</button>
</div>
<!-- ② Question Screen -->
<div class="hidden" id="question-screen">
<!-- Progress -->
<div class="progress-wrap">
<div class="progress-meta">
<span id="prog-label">Q1 / 15</span>
<span id="prog-pct">0%</span>
</div>
<div class="progress-track">
<div class="progress-fill" id="prog-fill" style="width: 0%;"></div>
</div>
</div>
<!-- Question Card -->
<div class="card" id="q-card">
<!-- injected by JS -->
</div>
</div>
<!-- ③ Loading Screen -->
<div class="card hidden" id="loading-screen">
<div class="spinner"></div>
<h3>딱 맞는 차를 찾는 중...</h3>
<p>100개 차종과 비교 분석 중이에요</p>
<div class="loading-steps">
<div class="loading-step">✅ 예산 필터 적용 중</div>
<div class="loading-step">✅ 탑승 인원 분석 중</div>
<div class="loading-step">✅ 연료 방식 매칭 중</div>
<div class="loading-step">✅ 최종 추천 순위 계산 중</div>
</div>
</div>
<!-- ④ Result Screen -->
<div class="hidden" id="result-screen">
<!-- injected by JS -->
</div>
</div><!-- /#app -->
<!-- ==================== Part 2 End ==================== -->
<!-- ==================== Part 3 Start ==================== -->
<script>
// ============================================================
// QUESTIONS (QS)
// ============================================================
const QS = [
// ── STEP 1 기본 정보 ──────────────────────────────────────
{
id:'age', step:'STEP 1 · 기본 정보', num:1,
text:'나이대가 어떻게 되세요?',
sub:'추천 차종과 금융 조건 산출에 사용됩니다.',
cols:2, dilemma:false,
opts:[
{icon:'🧑',label:'20대',desc:'20~29세',key:'20s'},
{icon:'👨',label:'30대',desc:'30~39세',key:'30s'},
{icon:'👨💼',label:'40대',desc:'40~49세',key:'40s'},
{icon:'👴',label:'50대 이상',desc:'50세~',key:'50s'}
]
},
{
id:'gender', step:'STEP 1 · 기본 정보', num:2,
text:'성별을 선택해주세요.',
sub:'통계 분석 및 보험료 기준 산출에 활용됩니다.',
cols:2, dilemma:false,
opts:[
{icon:'👨',label:'남성',key:'male'},
{icon:'👩',label:'여성',key:'female'}
]
},
{
id:'budget', step:'STEP 1 · 기본 정보', num:3,
text:'신차 기준 예산이 얼마예요?',
sub:'중고·리스는 이 금액 기준으로 자동 환산됩니다.',
cols:2, dilemma:false,
opts:[
{icon:'💚',label:'2,000만원 이하',key:'b1'},
{icon:'💙',label:'2,000~4,000만원',key:'b2'},
{icon:'💜',label:'4,000~7,000만원',key:'b3'},
{icon:'🖤',label:'7,000만원 이상',key:'b4'}
]
},
{
id:'newused', step:'STEP 1 · 기본 정보', num:4,
text:'새차 vs 중고차, 어느 쪽이에요?',
sub:'중고 선호 시 감가 적용 모델을 우선 추천합니다.',
cols:1, dilemma:false,
opts:[
{icon:'✨',label:'무조건 새차',desc:'출고 냄새 맡아야 직성이 풀림',key:'new'},
{icon:'🔍',label:'중고도 OK',desc:'합리적 가격이면 충분해',key:'used'},
{icon:'🤷',label:'상관없음',desc:'조건만 맞으면 뭐든',key:'any'}
]
},
// ── STEP 2 탑승·차종 ──────────────────────────────────────
{
id:'seats', step:'STEP 2 · 탑승 & 차종', num:5,
text:'주로 몇 명이 타나요?',
sub:'탑승 인원은 차종 필터의 핵심 기준입니다.',
cols:2, dilemma:false,
opts:[
{icon:'🙋',label:'1~2인',desc:'나 혼자 or 둘이서',key:'s2'},
{icon:'👨👩👧',label:'3~4인',desc:'소가족',key:'s4'},
{icon:'👨👩👧👦',label:'5~6인',desc:'대가족·지인',key:'s6'},
{icon:'🚌',label:'7인 이상',desc:'미니밴·대형 SUV 필요',key:'s7'}
]
},
{
id:'cartype', step:'STEP 2 · 탑승 & 차종', num:6,
text:'선호하는 차종은?',
sub:'차체 형태 선호도가 추천 결과를 좁혀줍니다.',
cols:2, dilemma:false,
opts:[
{icon:'🚗',label:'승용차(세단)',desc:'안정적 주행감',key:'sedan'},
{icon:'🚙',label:'SUV',desc:'높은 시야·넓은 공간',key:'suv'},
{icon:'🚐',label:'미니밴·MPV',desc:'최대 탑승 인원',key:'van'},
{icon:'🤷',label:'상관없음',desc:'조건만 맞으면',key:'any'}
]
},
// ── STEP 3 구매 고민 ──────────────────────────────────────
{
id:'reason', step:'STEP 3 · 구매 고민', num:7,
text:'차를 바꾸려는 이유는?',
sub:'구매 동기는 추천 방향성을 결정합니다.',
cols:2, dilemma:false,
opts:[
{icon:'🔧',label:'기존 차 노후',desc:'수리비가 더 무서움',key:'old'},
{icon:'✨',label:'새 차 갖고 싶음',desc:'그냥 갖고 싶어',key:'want'},
{icon:'👶',label:'가족 증가',desc:'공간이 더 필요해',key:'family'},
{icon:'💼',label:'이미지·직급',desc:'차가 명함이 됨',key:'image'}
]
},
{
id:'plan', step:'STEP 3 · 구매 고민', num:8,
text:'5년 후 이 차를 어떻게 할 것 같아요?',
sub:'보유 계획이 감가·리스·중고 전략을 결정합니다.',
cols:2, dilemma:false,
opts:[
{icon:'💸',label:'팔 것 같음',desc:'잔존가치가 중요해',key:'sell'},
{icon:'🔒',label:'10년 이상 탈 것',desc:'내구성이 최우선',key:'keep'},
{icon:'👨👧',label:'가족에게 줄 것',desc:'중고 상태도 신경씀',key:'give'},
{icon:'🤔',label:'모르겠어',desc:'그냥 타봐야 알 것',key:'idk'}
]
},
{
id:'cost', step:'STEP 3 · 구매 고민', num:9,
text:'월 유지비(보험+유류+정비) 한도는?',
sub:'평균: 소형 20~30만원 / 중형 30~50만원 / 대형·수입 60~100만원+',
cols:2, dilemma:false,
opts:[
{icon:'💚',label:'20만원 이하',desc:'최대한 아끼고 싶어',key:'c1'},
{icon:'💙',label:'20~50만원',desc:'적당히 관리',key:'c2'},
{icon:'💜',label:'50~100만원',desc:'차에 투자할 여유',key:'c3'},
{icon:'🖤',label:'상관없음',desc:'좋은 차면 돼',key:'c4'}
]
},
{
id:'payment', step:'STEP 3 · 구매 고민', num:10,
text:'결제 방식은 어떻게 할 예정이에요?',
sub:'2026년 트렌드: 소비자 46.9%가 월 납입금 기준으로 차를 선택합니다.',
cols:2, dilemma:false,
opts:[
{icon:'💵',label:'전액 현금',desc:'이자 0원, 내 차',key:'cash'},
{icon:'📅',label:'할부 (36~60개월)',desc:'부담 없이 분할',key:'installment'},
{icon:'🏢',label:'리스',desc:'법인·사업자에게 유리',key:'lease'},
{icon:'🏦',label:'오토론 (대출)',desc:'목돈 없이 대출',key:'loan'}
]
},
{
id:'wait', step:'STEP 3 · 구매 고민', num:11,
text:'출고 대기 기간, 얼마나 기다릴 수 있어요?',
sub:'인기 차종 대기 기간: 쏘렌토 HEV 4~6개월 / EV9 6~9개월',
cols:2, dilemma:false,
opts:[
{icon:'⚡',label:'1주일 이내',desc:'당장 필요해',key:'w1'},
{icon:'📅',label:'1~3개월',desc:'조금 기다릴 수 있어',key:'w2'},
{icon:'⏳',label:'3~6개월',desc:'좋은 차면 기다려',key:'w3'},
{icon:'🧘',label:'6개월 이상',desc:'원하는 차면 끝까지',key:'w4'}
]
},
// ── 딜레마 1 ─────────────────────────────────────────────
{
id:'dilemma1', step:'🔥 딜레마', num:12,
text:'같은 돈이라면 어느 쪽을 선택하겠어요?',
sub:'당신의 숨겨진 차 구매 심리를 보여줍니다.',
cols:1, dilemma:true,
opts:[
{icon:'🌊',label:'벤츠 E클래스 침수차',desc:'브랜드는 최고, 하지만 침수 이력 있음',key:'d1a'},
{icon:'🆕',label:'(경차) 새 차 풀옵션',desc:'작지만 완전 무결점 신차',key:'d1b'}
]
},
// ── STEP 4 차량 취향 ──────────────────────────────────────
{
id:'fuel', step:'STEP 4 · 차량 취향', num:13,
text:'연료 방식은 어떻게 할 건가요?',
sub:'2025년 기준: 하이브리드+전기차 합산 전체 판매의 47% 돌파',
cols:2, dilemma:false,
opts:[
{icon:'⛽', label:'휘발유', desc:'가장 보편적인 내연기관', key:'gas'},
{icon:'🛢️', label:'경유(디젤)', desc:'토크 강해 SUV·장거리에 유리', key:'diesel'},
{icon:'⚡', label:'전기차', desc:'충전 인프라 확인 필수', key:'ev'},
{icon:'🔋', label:'하이브리드', desc:'연비+편의 균형', key:'hybrid'},
{icon:'🤷', label:'상관없음', desc:'조건만 맞으면', key:'any'}
]
},
{
id:'purpose', step:'STEP 4 · 차량 취향', num:14,
text:'이 차의 주된 용도는?',
sub:'용도에 따라 추천 모델과 옵션이 달라집니다.',
cols:2, dilemma:false,
opts:[
{icon:'🏢',label:'출퇴근·통근',desc:'연비·주차 편의 중심',key:'commute'},
{icon:'👨👩👧',label:'가족·레저',desc:'공간·안전 중심',key:'leisure'},
{icon:'🏎️',label:'드라이브 취미',desc:'주행감·성능 중심',key:'drive'},
{icon:'💼',label:'이미지·스타일',desc:'디자인·브랜드 중심',key:'style'}
]
},
// ── 딜레마 2 ─────────────────────────────────────────────
{
id:'dilemma2', step:'🔥 딜레마', num:15,
text:'수입차 AS 센터가 집에서 1시간 거리라면?',
sub:'브랜드 충성도 vs 실생활 편의, 당신의 선택은?',
cols:1, dilemma:true,
opts:[
{icon:'🏆',label:'그래도 수입차 탄다',desc:'브랜드 가치는 포기 못 해',key:'d2a'},
{icon:'🔧',label:'국산차로 바꾼다',desc:'AS 편의가 더 중요해',key:'d2b'}
]
}
];
// ============================================================
// CAR DATABASE (CAR_DB) — 국산 58 + 수입 57 = 총 115개
// ※ 신차가: 2026년 공식 출고가(개소세 5% 기준)
// ※ 중고 시세·리스·렌트: 시장 평균 추정치 (실제보다 높을 수 있음)
// ============================================================
const EV_SUBSIDY = {
micro: 700,
small: 630,
mid: 580,
large: 300,
import: 250
};
function getEvSubsidy(car) {
if (car.fuel !== 'ev') return 0;
const micro = ['casper_ev','ray_ev'];
const small = ['ev3','kona_ev','niro_ev','byd_atto3','byd_dolphin','volvo_ex30','mini_electric','peugeot_e208'];
const large = ['ev9','ioniq9','tesla_modelx','bmw_ix','bmw_i4','gv60','gv70_ev','eg_electrified_g80','audi_etron','porsche_macan_ev','rivian_r1t'];
if (micro.includes(car.id)) return EV_SUBSIDY.micro;
if (small.includes(car.id)) return EV_SUBSIDY.small;
if (large.includes(car.id)) return EV_SUBSIDY.large;
if (car.origin === 'import') return EV_SUBSIDY.import;
return EV_SUBSIDY.mid;
}
const CAR_DB = [
// ────────────── 국산 ──────────────
{
// ✅ 수정: new_min 1325만원 (실제 트렌디 기준), new_max 유지
id:'morning',brand:'기아',model:'모닝',year:2026,origin:'domestic',
type:'sedan',seats:4,fuel:'gas',
price:{new_min:1325,new_max:1870,used_min:850,used_max:1500,lease_month:14,rent_month:16},
wait:'즉시~1개월',tags:['경차','가성비','도심','주차왕'],
reason:'국내 최저가 신차. 1325만원부터 시작. 경차 세금 혜택+보험료 최저.',
monthly_cost:18,as_centers:380
},
{
// ✅ 수정: new_min 1441만원 (실제 트렌디 기준), new_max 소폭 수정
id:'ray',brand:'기아',model:'레이',year:2026,origin:'domestic',
type:'van',seats:4,fuel:'gas',
price:{new_min:1441,new_max:2003,used_min:1000,used_max:1700,lease_month:15,rent_month:18},
wait:'즉시~1개월',tags:['경차','박스카','공간활용'],
reason:'경차지만 실내는 중형급. 짐 많은 1인 가구나 소호 사업자에게 최강.',
monthly_cost:22,as_centers:360
},
{
// ✅ 수정: new_min 2805만원(라이트 기준), 대기기간 7~10개월로 정정
id:'ray_ev',brand:'기아',model:'레이 EV',year:2026,origin:'domestic',
type:'van',seats:4,fuel:'ev',
price:{new_min:2805,new_max:3200,used_min:1900,used_max:2700,lease_month:27,rent_month:31},
wait:'7~10개월',tags:['전기차','경차','박스카','도심'],
reason:'레이의 전기차 버전. 박스카 공간+전기차 유지비. 1회 충전 205km. 인기 폭발로 대기 7~10개월.',
monthly_cost:23,as_centers:360
},
{
// ✅ 수정: new_min 1493만원 (실제 스마트 트림 기준)
id:'casper',brand:'현대',model:'캐스퍼',year:2026,origin:'domestic',
type:'suv',seats:4,fuel:'gas',
price:{new_min:1493,new_max:2017,used_min:900,used_max:1500,lease_month:14,rent_month:16},
wait:'즉시~1개월',tags:['경차','도심','주차걱정없음'],
reason:'경차 최강 주차왕. 좁은 골목도 거뜬히 통과하고 유류세 환급까지.',
monthly_cost:20,as_centers:380
},
{
// ✅ 수정: new_min 2787만원 (실제 프리미엄 트림 기준, 세제혜택 후)
id:'casper_ev',brand:'현대',model:'캐스퍼 일렉트릭',year:2026,origin:'domestic',
type:'suv',seats:4,fuel:'ev',
price:{new_min:2787,new_max:3337,used_min:2000,used_max:2900,lease_month:27,rent_month:31},
wait:'1~3개월',tags:['전기차','경형SUV','도심','보조금'],
reason:'보조금 적용 시 실구매가 약 2,000만원대. 경형 전기 SUV 최초. 도심 전기차 입문 최강.',
monthly_cost:25,as_centers:380
},
{
// ✅ 정확: 2034만원 공식 확인
id:'avante',brand:'현대',model:'아반떼',year:2026,origin:'domestic',
type:'sedan',seats:5,fuel:'gas',
price:{new_min:2034,new_max:2806,used_min:1400,used_max:2400,lease_month:20,rent_month:23},
wait:'즉시~1개월',tags:['가성비','세단','출퇴근'],
reason:'국산 준중형 세단의 정석. 2034만원부터 시작. 연비 좋고 부품 구하기 쉬워 유지비 최저.',
monthly_cost:28,as_centers:400
},
{
// ✅ 대체로 일치
id:'avante_hybrid',brand:'현대',model:'아반떼 하이브리드',year:2026,origin:'domestic',
type:'sedan',seats:5,fuel:'hybrid',
price:{new_min:2590,new_max:3010,used_min:2000,used_max:2700,lease_month:25,rent_month:28},
wait:'2~3개월',tags:['하이브리드','연비왕','세단'],
reason:'연비 20km/L 이상. 주유비 걱정 없이 세단의 주행감을 즐길 수 있음.',
monthly_cost:25,as_centers:400
},
{
// ✅ 수정: new_min 1986만원 → K3 실제 최저가 확인 후 유지 (나무위키 트렌디 2,435만원은 연식 이전 기준, 현재 2,000만원 이하 트림 존재)
id:'k3',brand:'기아',model:'K3',year:2026,origin:'domestic',
type:'sedan',seats:5,fuel:'gas',
price:{new_min:1986,new_max:2715,used_min:1300,used_max:2300,lease_month:19,rent_month:22},
wait:'즉시~1개월',tags:['가성비','세단','젊은감각'],
reason:'아반떼보다 스포티한 디자인. 가성비+개성을 동시에 잡고 싶은 20~30대 추천.',
monthly_cost:27,as_centers:380
},
{
// ✅ 수정: 2025년형 가격 2831만원~ 확인, new_min 2788만원 유지 (2026년형 가솔린 2.0 기준)
id:'sonata',brand:'현대',model:'쏘나타',year:2026,origin:'domestic',
type:'sedan',seats:5,fuel:'gas',
price:{new_min:2788,new_max:3931,used_min:2000,used_max:3200,lease_month:27,rent_month:31},
wait:'즉시',tags:['중형세단','가족','출퇴근'],
reason:'국산 중형 세단의 대명사. 2788만원부터 시작. 넓은 실내와 검증된 내구성으로 가족 모두 만족.',
monthly_cost:33,as_centers:400
},
{
// ✅ 대체로 일치
id:'sonata_hybrid',brand:'현대',model:'쏘나타 하이브리드',year:2026,origin:'domestic',
type:'sedan',seats:5,fuel:'hybrid',
price:{new_min:3130,new_max:3810,used_min:2400,used_max:3400,lease_month:30,rent_month:34},
wait:'1~2개월',tags:['하이브리드','중형','연비'],
reason:'중형 세단에 하이브리드 조합. 연비 18km/L로 매달 주유비 절감 효과 확실.',
monthly_cost:30,as_centers:400
},
{
// ✅ 수정: K5 트렌디 실제 최저 2,435만원 확인 → new_min 2435로 조정
id:'k5',brand:'기아',model:'K5',year:2026,origin:'domestic',
type:'sedan',seats:5,fuel:'gas',
price:{new_min:2435,new_max:3886,used_min:2000,used_max:3100,lease_month:27,rent_month:31},
wait:'즉시',tags:['중형세단','디자인','가성비'],
reason:'쏘나타보다 더 날렵한 스포츠 세단 감성. 2435만원부터 시작. 중형에서 개성 원하면 K5.',
monthly_cost:32,as_centers:380
},
{
// ✅ 수정: K5 하이브리드 프레스티지 3,241만원 확인 → new_min 3095 유지 (허용범위)
id:'k5_hybrid',brand:'기아',model:'K5 하이브리드',year:2026,origin:'domestic',
type:'sedan',seats:5,fuel:'hybrid',
price:{new_min:3095,new_max:3868,used_min:2400,used_max:3300,lease_month:30,rent_month:34},
wait:'1~2개월',tags:['하이브리드','중형','디자인'],
reason:'날카로운 디자인에 하이브리드 실용성 결합. 출퇴근 연비 걱정 끝.',
monthly_cost:29,as_centers:380
},
{
// ✅ 수정: 그랜저 프리미엄 실제 3,798만원 확인 → 유지, 하이브리드 4,354만원 별도 확인
id:'grandeur',brand:'현대',model:'그랜저',year:2026,origin:'domestic',
type:'sedan',seats:5,fuel:'gas',
price:{new_min:3798,new_max:5200,used_min:2800,used_max:4500,lease_month:37,rent_month:42},
wait:'즉시',tags:['대형세단','품격','국민차'],
reason:'40대 이상 국산 대형 세단의 왕. 3798만원부터 시작. 품격과 넓은 뒷좌석.',
monthly_cost:45,as_centers:400
},
{
// ✅ 수정: 그랜저 하이브리드 프리미엄 4,354만원 → new_min 4097 → 4354로 수정
id:'grandeur_hybrid',brand:'현대',model:'그랜저 하이브리드',year:2026,origin:'domestic',
type:'sedan',seats:5,fuel:'hybrid',
price:{new_min:4354,new_max:5500,used_min:3200,used_max:5000,lease_month:42,rent_month:48},
wait:'1~2개월',tags:['하이브리드','대형','품격'],
reason:'대형 세단에 하이브리드 결합. 연비 15km/L로 그랜저답게 품격+실속 동시에.',
monthly_cost:42,as_centers:400
},
{
// ✅ 수정: K8 노블레스라이트 3,679만원 확인 → new_min 3679로 수정
id:'k8',brand:'기아',model:'K8',year:2026,origin:'domestic',
type:'sedan',seats:5,fuel:'gas',
price:{new_min:3679,new_max:5200,used_min:2800,used_max:4800,lease_month:37,rent_month:43},
wait:'즉시',tags:['대형세단','디자인','품격'],
reason:'그랜저보다 더 길고 스포티한 대형 세단. 파격적 디자인으로 40대 이상에게 인기.',
monthly_cost:44,as_centers:380
},
{
// ✅ 대체로 일치
id:'k8_hybrid',brand:'기아',model:'K8 하이브리드',year:2026,origin:'domestic',
type:'sedan',seats:5,fuel:'hybrid',
price:{new_min:4339,new_max:5295,used_min:3200,used_max:5200,lease_month:42,rent_month:48},
wait:'1~2개월',tags:['하이브리드','대형세단','연비'],
reason:'대형 세단 하이브리드로 연비 16.4km/L. 장거리 출장족에게 최고의 선택.',
monthly_cost:40,as_centers:380
},
{
// ✅ 수정: K9 실제 최저 5,949만원(3.3 플래티넘, 세제혜택 후), new_min 5949로 수정
id:'kia_k9',brand:'기아',model:'K9',year:2026,origin:'domestic',
type:'sedan',seats:5,fuel:'gas',
price:{new_min:5949,new_max:9500,used_min:4500,used_max:8000,lease_month:56,rent_month:65},
wait:'즉시~1개월',tags:['대형세단','플래그십','기아'],
reason:'기아 최고급 플래그십 세단. 그랜저·K8보다 한 단계 위의 품격. 수입차 대안.',
monthly_cost:72,as_centers:380
},
{
// ✅ 대체로 일치 (단종 수순이나 현재 판매 중)
id:'stinger',brand:'기아',model:'스팅어',year:2026,origin:'domestic',
type:'sedan',seats:5,fuel:'gas',
price:{new_min:4295,new_max:5600,used_min:2800,used_max:4800,lease_month:40,rent_month:46},
wait:'즉시~1개월',tags:['퍼포먼스','스포츠세단','드라이빙'],
reason:'국산 유일의 GT 스포츠 세단. 3.3 터보 370마력, 0→100km/h 4.9초.',
monthly_cost:50,as_centers:380
},
{
// ✅ 수정: 아이오닉6 익스클루시브 5,495만원 확인, new_min 4856 유지(E-Lite 기준)
id:'ioniq6',brand:'현대',model:'아이오닉 6',year:2026,origin:'domestic',
type:'sedan',seats:5,fuel:'ev',
price:{new_min:4856,new_max:6200,used_min:3400,used_max:5500,lease_month:44,rent_month:51},
wait:'즉시~1개월',tags:['전기차','미래지향','디자인'],
reason:'공기저항계수 0.21의 전기 세단. 4856만원부터 시작. 1회 충전 524km.',
monthly_cost:35,as_centers:350
},
{
// ✅ 수정: 아이오닉5 E-VALUE+ 4,740만원 확인 → new_min 4740으로 수정
id:'ioniq5',brand:'현대',model:'아이오닉 5',year:2026,origin:'domestic',
type:'suv',seats:5,fuel:'ev',
price:{new_min:4740,new_max:6850,used_min:3500,used_max:5800,lease_month:45,rent_month:52},
wait:'즉시~1개월',tags:['전기차','SUV','패밀리'],
reason:'레트로 미래 디자인의 전기 SUV. 800V 초급속 충전으로 18분에 80% 충전.',
monthly_cost:38,as_centers:350
},
{
// ✅ 대체로 일치
id:'ioniq5n',brand:'현대',model:'아이오닉 5 N',year:2026,origin:'domestic',
type:'suv',seats:5,fuel:'ev',
price:{new_min:7920,new_max:8500,used_min:6000,used_max:8000,lease_month:72,rent_month:82},
wait:'2~4개월',tags:['전기차','퍼포먼스','N라인'],
reason:'0→100km/h 3.4초. 전기차로 서킷 달리기. 세계 최고 성능의 전기 핫해치.',
monthly_cost:65,as_centers:340
},
{
// ✅ 수정: 아이오닉9 실제 6,715만원~(현대 공식), new_min 6715로 수정
id:'ioniq9',brand:'현대',model:'아이오닉 9',year:2026,origin:'domestic',
type:'suv',seats:7,fuel:'ev',
price:{new_min:6715,new_max:9200,used_min:5500,used_max:8000,lease_month:61,rent_month:71},
wait:'1~2개월',tags:['전기차','대형SUV','7인승'],
reason:'현대 플래그십 전기 대형 SUV. 6715만원부터 시작. 7인승, 1회 충전 620km.',
monthly_cost:55,as_centers:350
},
{
// ✅ 수정: EV3 실제 최저 3,995만원 → 유지 (정확)
id:'ev3',brand:'기아',model:'EV3',year:2026,origin:'domestic',
type:'suv',seats:5,fuel:'ev',
price:{new_min:3995,new_max:5308,used_min:2900,used_max:4500,lease_month:38,rent_month:44},
wait:'1~2개월',tags:['전기차','소형SUV','가성비'],
reason:'보조금 적용 시 실구매가 약 2,200만원대. 2025년 전기차 판매 2위. 전기차 가성비 최강.',
monthly_cost:32,as_centers:380
},
{
// ✅ 대체로 일치
id:'ev6',brand:'기아',model:'EV6',year:2026,origin:'domestic',
type:'suv',seats:5,fuel:'ev',
price:{new_min:4360,new_max:6500,used_min:3200,used_max:5600,lease_month:42,rent_month:49},
wait:'즉시~1개월',tags:['전기차','SUV','퍼포먼스'],
reason:'4360만원부터 시작. GT라인 최고출력 477마력. 전기차 SUV 중 가장 역동적.',
monthly_cost:38,as_centers:360
},
{
// ✅ 수정: EV9 공식 6,197만원(세제혜택 후), new_min을 실제 라이트스탠다드 6,527만원(혜택 전) 기준으로 수정
id:'ev9',brand:'기아',model:'EV9',year:2026,origin:'domestic',
type:'suv',seats:7,fuel:'ev',
price:{new_min:6527,new_max:9500,used_min:5500,used_max:8500,lease_month:60,rent_month:70},
wait:'즉시~1개월',tags:['전기차','대형SUV','7인승','럭셔리'],
reason:'국산 전기 대형 SUV 7인승. 1회 충전 501km. 미래 가족차의 표준.',
monthly_cost:58,as_centers:360
},
{
// ✅ 대체로 일치
id:'kona',brand:'현대',model:'코나',year:2026,origin:'domestic',
type:'suv',seats:5,fuel:'gas',
price:{new_min:2280,new_max:3200,used_min:1600,used_max:2900,lease_month:22,rent_month:26},
wait:'즉시~1개월',tags:['소형SUV','도심','가성비'],
reason:'현대 소형 SUV. 셀토스와 경쟁. 독특한 디자인으로 개성 표출.',
monthly_cost:28,as_centers:400
},
{
// ✅ 수정: 코나 일렉트릭 실제 4,152만원~ (현대 공식), new_min 4152로 수정
id:'kona_ev',brand:'현대',model:'코나 일렉트릭',year:2026,origin:'domestic',
type:'suv',seats:5,fuel:'ev',
price:{new_min:4152,new_max:4800,used_min:2800,used_max:4400,lease_month:40,rent_month:46},
wait:'즉시~1개월',tags:['전기차','소형SUV','가성비'],
reason:'소형 전기 SUV 중 저렴한 전기차 입문 가능. 1회 충전 454km.',
monthly_cost:30,as_centers:380
},
{
// ✅ 수정: 셀토스 트렌디 2WD 2,477만원 확인 → new_min 2477로 수정
id:'celtos',brand:'기아',model:'셀토스',year:2026,origin:'domestic',
type:'suv',seats:5,fuel:'gas',
price:{new_min:2477,new_max:3160,used_min:1600,used_max:2800,lease_month:24,rent_month:28},
wait:'즉시~1개월',tags:['소형SUV','가성비','도심'],
reason:'기아 소형 SUV 베스트셀러. 도심 주차 걱정 없고 SUV 시야감을 저렴하게.',
monthly_cost:29,as_centers:380
},
{
// ✅ 대체로 일치
id:'niro_hybrid',brand:'기아',model:'니로 하이브리드',year:2026,origin:'domestic',
type:'suv',seats:5,fuel:'hybrid',
price:{new_min:2820,new_max:3500,used_min:2000,used_max:3100,lease_month:27,rent_month:31},
wait:'즉시~1개월',tags:['하이브리드','소형SUV','연비'],
reason:'국산 소형 하이브리드 SUV. 연비 19.5km/L 최강. 도심 알뜰파의 선택.',
monthly_cost:24,as_centers:380
},
{
// ✅ 대체로 일치
id:'niro_ev',brand:'기아',model:'니로 EV',year:2026,origin:'domestic',
type:'suv',seats:5,fuel:'ev',
price:{new_min:4700,new_max:5400,used_min:3200,used_max:4800,lease_month:44,rent_month:51},
wait:'1~2개월',tags:['전기차','소형SUV','가성비'],
reason:'코나 일렉트릭과 함께 소형 전기 SUV 양대산맥. 넓은 실내공간이 강점.',
monthly_cost:32,as_centers:380
},
{
// ✅ 대체로 일치
id:'tucson',brand:'현대',model:'투싼',year:2026,origin:'domestic',
type:'suv',seats:5,fuel:'gas',
price:{new_min:2729,new_max:3850,used_min:2000,used_max:3300,lease_month:26,rent_month:30},
wait:'즉시~1개월',tags:['SUV','가성비','도심'],
reason:'현대 중형 SUV 입문. 2729만원부터 시작. 합리적 가격에 실용적 공간감.',
monthly_cost:34,as_centers:400
},
{
// ✅ 대체로 일치
id:'tucson_hybrid',brand:'현대',model:'투싼 하이브리드',year:2026,origin:'domestic',
type:'suv',seats:5,fuel:'hybrid',
price:{new_min:3213,new_max:4100,used_min:2500,used_max:3700,lease_month:31,rent_month:36},
wait:'1~2개월',tags:['SUV','하이브리드','가성비'],
reason:'투싼 하이브리드 3213만원부터. 연비 15km/L. 주말 캠핑+평일 출퇴근 모두 커버.',
monthly_cost:32,as_centers:400
},
{
// ✅ 대체로 일치
id:'sportage',brand:'기아',model:'스포티지',year:2026,origin:'domestic',
type:'suv',seats:5,fuel:'gas',
price:{new_min:2794,new_max:3900,used_min:2000,used_max:3400,lease_month:27,rent_month:31},
wait:'즉시~1개월',tags:['SUV','디자인','가성비'],
reason:'기아 중형 SUV. 2794만원부터 시작. 날카로운 디자인과 넉넉한 트렁크.',
monthly_cost:33,as_centers:380
},
{
// ✅ 대체로 일치
id:'sportage_hybrid',brand:'기아',model:'스포티지 하이브리드',year:2026,origin:'domestic',
type:'suv',seats:5,fuel:'hybrid',
price:{new_min:3150,new_max:4050,used_min:2400,used_max:3700,lease_month:30,rent_month:35},
wait:'2~3개월',tags:['SUV','하이브리드','연비'],
reason:'중형 SUV+하이브리드. 연비 15.3km/L. 스포티지 디자인을 유지비 걱정 없이.',
monthly_cost:31,as_centers:380
},
{
// ✅ 수정: 싼타페 가솔린 익스클루시브 3,606만원 공식 확인 → 유지
id:'santafe',brand:'현대',model:'싼타페',year:2026,origin:'domestic',
type:'suv',seats:7,fuel:'gas',
price:{new_min:3606,new_max:4484,used_min:2800,used_max:4200,lease_month:34,rent_month:39},
wait:'즉시~1개월',tags:['SUV','7인승','패밀리'],
reason:'현대 대표 가족 SUV. 3606만원부터 시작. 7인승 옵션으로 캠핑·여행에 최적.',
monthly_cost:42,as_centers:400
},
{
// ✅ 수정: 싼타페 하이브리드 H-Pick 4,508만원 확인 → new_min 3888 유지 (1.6T HEV 기준, 허용범위)
id:'santafe_hybrid',brand:'현대',model:'싼타페 하이브리드',year:2026,origin:'domestic',
type:'suv',seats:7,fuel:'hybrid',
price:{new_min:3888,new_max:5300,used_min:3000,used_max:4800,lease_month:37,rent_month:43},
wait:'2~3개월',tags:['SUV','하이브리드','7인승'],
reason:'7인승 SUV에 하이브리드. 3888만원부터. 연비 14km/L, 장거리 가족 여행 부담 없음.',
monthly_cost:38,as_centers:400
},
{
// ✅ 대체로 일치
id:'sorento',brand:'기아',model:'쏘렌토',year:2026,origin:'domestic',
type:'suv',seats:7,fuel:'gas',
price:{new_min:3496,new_max:4910,used_min:2500,used_max:4200,lease_month:33,rent_month:38},
wait:'즉시~1개월',tags:['SUV','7인승','가족'],
reason:'기아 패밀리 SUV 핵심. 3496만원부터. 7인승으로 가족 여행 완벽.',
monthly_cost:39,as_centers:380
},
{
// ✅ 수정: 쏘렌토 하이브리드 프레스티지 3,896만원 공식 확인 → 유지
id:'sorento_hybrid',brand:'기아',model:'쏘렌토 하이브리드',year:2026,origin:'domestic',
type:'suv',seats:7,fuel:'hybrid',
price:{new_min:3896,new_max:5300,used_min:3000,used_max:4700,lease_month:37,rent_month:43},
wait:'2~4개월',tags:['SUV','하이브리드','7인승','인기'],
reason:'국산 SUV 판매 상위권. 3896만원부터. 연비+공간+가격 삼박자.',
monthly_cost:36,as_centers:380
},
{
// ✅ 대체로 일치
id:'palisade',brand:'현대',model:'팰리세이드',year:2026,origin:'domestic',
type:'suv',seats:8,fuel:'gas',
price:{new_min:4516,new_max:6250,used_min:3200,used_max:6000,lease_month:43,rent_month:50},
wait:'즉시~1개월',tags:['대형SUV','8인승','럭셔리'],
reason:'국산 최대급 8인승 SUV. 풀체인지 신형. 4516만원부터. 미국에서도 큰 인기.',
monthly_cost:52,as_centers:400
},
{
// ✅ 대체로 일치
id:'palisade_hybrid',brand:'현대',model:'팰리세이드 하이브리드',year:2026,origin:'domestic',
type:'suv',seats:9,fuel:'hybrid',
price:{new_min:4982,new_max:6424,used_min:3800,used_max:6000,lease_month:47,rent_month:55},
wait:'1~2개월',tags:['대형SUV','9인승','하이브리드'],
reason:'팰리세이드 하이브리드 신규 추가. 9인승+하이브리드. 4982만원부터. 연비+공간 모두.',
monthly_cost:48,as_centers:400
},
{
// ✅ 수정: 카니발 3.5 가솔린 프레스티지 3,636만원 공식 확인 → 유지
id:'carnival',brand:'기아',model:'카니발',year:2026,origin:'domestic',
type:'van',seats:9,fuel:'gas',
price:{new_min:3636,new_max:5200,used_min:2800,used_max:5000,lease_month:34,rent_month:40},
wait:'즉시~1개월',tags:['미니밴','9인승','패밀리'],
reason:'국산 미니밴 압도적 1위. 3636만원부터 시작. 9인승으로 대가족·캠핑·법인 모두 OK.',
monthly_cost:48,as_centers:380
},
{
// ✅ 수정: 카니발 하이브리드 프레스티지 4,091만원 공식 확인 → 유지
id:'carnival_hybrid',brand:'기아',model:'카니발 하이브리드',year:2026,origin:'domestic',
type:'van',seats:9,fuel:'hybrid',
price:{new_min:4091,new_max:5500,used_min:3200,used_max:5200,lease_month:39,rent_month:45},
wait:'3~4개월',tags:['미니밴','하이브리드','9인승'],
reason:'카니발에 하이브리드 추가. 4091만원부터. 연비 개선으로 유류비 절감 가능.',
monthly_cost:42,as_centers:380
},
{
// ✅ 대체로 일치
id:'staria',brand:'현대',model:'스타리아',year:2026,origin:'domestic',
type:'van',seats:9,fuel:'gas',
price:{new_min:3450,new_max:5900,used_min:2600,used_max:5200,lease_month:33,rent_month:39},
wait:'즉시',tags:['미니밴','9인승','미래형'],
reason:'카니발의 경쟁자. 우주선 스타일로 9인승 공간 최대화. 승합+캠핑 겸용.',
monthly_cost:46,as_centers:390
},
{
// ✅ 대체로 일치
id:'mohave',brand:'기아',model:'모하비',year:2026,origin:'domestic',
type:'suv',seats:7,fuel:'gas',
price:{new_min:5174,new_max:6500,used_min:3500,used_max:5800,lease_month:48,rent_month:55},
wait:'즉시~1개월',tags:['대형SUV','오프로드','정통'],
reason:'국산 유일의 정통 바디온프레임 SUV. 오프로드 마니아라면 모하비.',
monthly_cost:55,as_centers:370
},
{
// ✅ 대체로 일치
id:'telluride',brand:'기아',model:'텔루라이드',year:2026,origin:'domestic',
type:'suv',seats:8,fuel:'gas',
price:{new_min:5000,new_max:6800,used_min:3800,used_max:6000,lease_month:47,rent_month:54},
wait:'2~3개월',tags:['대형SUV','8인승','북미스타일'],
reason:'미국 올해의 SUV 수상. 국내에서도 프리미엄 대형 SUV 원하는 분에게 추천.',
monthly_cost:54,as_centers:380
},
{
// ✅ 수정: 봉고3 실제 최저가 확인, new_min 2100 유지
id:'bongo3',brand:'기아',model:'봉고3',year:2026,origin:'domestic',
type:'van',seats:3,fuel:'gas',
price:{new_min:2100,new_max:3500,used_min:1200,used_max:2800,lease_month:20,rent_month:24},
wait:'즉시~1개월',tags:['상용차','화물','자영업'],
reason:'국내 1톤 트럭 1위. 자영업자·소상공인의 필수 파트너.',
monthly_cost:30,as_centers:380
},
{
// ✅ 수정: 포터2 LPG 스마트 2,152만원 공식 확인 → new_min 2050 → 2152로 수정
id:'porter2',brand:'현대',model:'포터2',year:2026,origin:'domestic',
type:'van',seats:3,fuel:'gas',
price:{new_min:2152,new_max:3400,used_min:1100,used_max:2700,lease_month:21,rent_month:25},
wait:'즉시~1개월',tags:['상용차','화물','자영업'],
reason:'봉고3와 함께 1톤 트럭 양대산맥. 업종에 따라 봉고3와 비교 후 선택.',
monthly_cost:29,as_centers:390
},
{
// ✅ 대체로 일치
id:'gv60',brand:'제네시스',model:'GV60',year:2026,origin:'domestic',
type:'suv',seats:5,fuel:'ev',
price:{new_min:6500,new_max:8500,used_min:4500,used_max:7500,lease_month:59,rent_month:68},
wait:'즉시~1개월',tags:['전기차','럭셔리','SUV'],
reason:'제네시스 첫 전기 전용 SUV. 얼굴 인식·지문인식 등 미래 기술 집약.',
monthly_cost:54,as_centers:280
},
{
// ✅ 정확: G70 가솔린 2.5터보 4,438만원 공식 확인
id:'genesis_g70',brand:'제네시스',model:'G70',year:2026,origin:'domestic',
type:'sedan',seats:5,fuel:'gas',
price:{new_min:4438,new_max:5886,used_min:3000,used_max:5000,lease_month:42,rent_month:48},
wait:'즉시~1개월',tags:['럭셔리','스포츠세단','제네시스'],
reason:'제네시스 엔트리 스포츠 세단. 4438만원부터. 2.5터보+AWD로 날카로운 주행감.',
monthly_cost:50,as_centers:280
},
{
// ✅ 대체로 일치
id:'gv70',brand:'제네시스',model:'GV70',year:2026,origin:'domestic',
type:'suv',seats:5,fuel:'gas',
price:{new_min:5318,new_max:7500,used_min:4000,used_max:6500,lease_month:50,rent_month:58},
wait:'즉시~1개월',tags:['럭셔리','SUV','제네시스'],
reason:'수입 럭셔리 SUV 대비 20~30% 저렴한 국산 프리미엄. 5318만원부터 시작.',
monthly_cost:58,as_centers:280
},
{
// ✅ 대체로 일치
id:'gv70_ev',brand:'제네시스',model:'GV70 전동화',year:2026,origin:'domestic',
type:'suv',seats:5,fuel:'ev',
price:{new_min:7200,new_max:9000,used_min:5200,used_max:8000,lease_month:65,rent_month:75},
wait:'2~3개월',tags:['전기차','럭셔리','SUV'],
reason:'제네시스 럭셔리 전기 SUV. 483kW 최고출력으로 0→100km/h 3.5초.',
monthly_cost:60,as_centers:280
},
{
// ✅ 대체로 일치
id:'gv80',brand:'제네시스',model:'GV80',year:2026,origin:'domestic',
type:'suv',seats:7,fuel:'gas',
price:{new_min:6945,new_max:9800,used_min:5000,used_max:8500,lease_month:65,rent_month:75},
wait:'2~3개월',tags:['럭셔리','대형SUV','7인승'],
reason:'한국산 최고급 SUV. BMW X5·벤츠 GLE와 직접 경쟁하면서 AS는 국내 편의.',
monthly_cost:70,as_centers:280
},
{
// ✅ 수정: G80 기본가격 5,978만원(신차라인 확인), new_min 5978로 수정
id:'g80',brand:'제네시스',model:'G80',year:2026,origin:'domestic',
type:'sedan',seats:5,fuel:'gas',
price:{new_min:5978,new_max:9000,used_min:4500,used_max:8000,lease_month:57,rent_month:66},
wait:'즉시~1개월',tags:['럭셔리','세단','제네시스'],
reason:'국산 최고급 세단. 5978만원부터. 벤츠 E클래스급 품격을 국산 AS 편의와 함께.',
monthly_cost:65,as_centers:280
},
{
// ✅ 대체로 일치
id:'eg_electrified_g80',brand:'제네시스',model:'G80 전동화',year:2026,origin:'domestic',
type:'sedan',seats:5,fuel:'ev',
price:{new_min:8500,new_max:11000,used_min:6000,used_max:9500,lease_month:78,rent_month:90},
wait:'2~3개월',tags:['전기차','럭셔리','세단'],
reason:'제네시스 G80의 전동화 버전. 럭셔리+전기차 두 마리 토끼 동시에.',
monthly_cost:62,as_centers:280
},
{
// ✅ 대체로 일치
id:'g90',brand:'제네시스',model:'G90',year:2026,origin:'domestic',
type:'sedan',seats:5,fuel:'gas',
price:{new_min:12000,new_max:18000,used_min:8000,used_max:15000,lease_month:110,rent_month:130},
wait:'2~4개월',tags:['플래그십','럭셔리','세단'],
reason:'현대차그룹 최고급 세단. 벤츠 S클래스와 경쟁. 국산이지만 세계 수준의 품격.',
monthly_cost:95,as_centers:280
},
// ===== 디젤 차종 =====
{
id:'kgm_rexton',brand:'KGM',model:'렉스턴 뉴 아레나',year:2026,
origin:'domestic',type:'suv',seats:7,fuel:'diesel',
price:{new_min:4100,new_max:6030,used_min:2200,used_max:3800,lease_month:55,rent_month:50},
wait:'즉시~2개월',wait_weeks:2,
tags:['7인승','대형SUV','디젤','실용성','4WD','오프로드'],
reason:'국산 대형 SUV 중 유일하게 남은 바디온프레임 디젤. 7인승에 4WD 기본.',
monthly_cost:60,service_centers:150
},
{
id:'kgm_musso',brand:'KGM',model:'무쏘',year:2026,
origin:'domestic',type:'suv',seats:5,fuel:'diesel',
price:{new_min:3500,new_max:4200,used_min:1800,used_max:2800,lease_month:48,rent_month:43},
wait:'즉시~2개월',wait_weeks:2,
tags:['디젤','중형SUV','가성비','4WD','신형','오프로드'],
reason:'2026년 1월 완전변경 출시된 신형 무쏘. 2.2L 디젤 터보 202마력, 4WD 기본.',
monthly_cost:50,service_centers:150
},
{
id:'kia_sorento_diesel',brand:'기아',model:'쏘렌토 디젤',year:2026,
origin:'domestic',type:'suv',seats:7,fuel:'diesel',
price:{new_min:3750,new_max:4430,used_min:2400,used_max:3500,lease_month:55,rent_month:50},
wait:'즉시',wait_weeks:0,
tags:['7인승','중형SUV','디젤','재고한정','단종임박'],
reason:'⚠️ 2026년 3월 생산 종료 예정. 마지막 재고 차량만 구매 가능. 2.2 디젤 연비 13.3~14.3km/L.',
monthly_cost:58,service_centers:700
},
// ────────────── 수입 ──────────────
{
// ✅ 정확: 4199만원 공식 확인
id:'tesla_model3',brand:'테슬라',model:'Model 3',year:2026,origin:'import',
type:'sedan',seats:5,fuel:'ev',
price:{new_min:4199,new_max:5999,used_min:3000,used_max:5500,lease_month:40,rent_month:46},
wait:'즉시~1개월',tags:['전기차','테슬라','세단'],
reason:'2026년 가격 인하! 스탠다드 4199만원, 퍼포먼스 5999만원. FSD 자율주행+OTA 업데이트.',
monthly_cost:40,as_centers:25
},
{
// ✅ 수정: 출고가 정확, 리스 47만원대(오토리스), 렌트 75~90만원대 반영
id:'tesla_modely',brand:'테슬라',model:'Model Y',year:2026,origin:'import',
type:'suv',seats:5,fuel:'ev',
price:{new_min:4999,new_max:6314,used_min:3500,used_max:6000,lease_month:50,rent_month:80},
wait:'즉시~1개월',tags:['전기차','SUV','테슬라'],
reason:'2026년 한국 전기차 판매 1위. 주니퍼 모델 4999만원(RWD)부터. OTA 업데이트+FSD 자율주행 옵션.',
monthly_cost:44,as_centers:25
},
{
// ✅ 수정: 모델X 12,589만원(롱레인지)~14,589만원(퍼포먼스) 확인, new_min 12589로 수정
id:'tesla_modelx',brand:'테슬라',model:'Model X',year:2026,origin:'import',
type:'suv',seats:7,fuel:'ev',
price:{new_min:12589,new_max:14589,used_min:8000,used_max:13000,lease_month:109,rent_month:126},
wait:'1~3개월',tags:['전기차','대형SUV','팰콘윙'],
reason:'팰콘 윙 도어로 시선 강탈. 7인승. 0→100km/h 2.5초 퍼포먼스 버전도 있음.',
monthly_cost:90,as_centers:25
},
{
// ✅ 수정: 벤츠 C클래스 C200 AV 실제 6,500만원, new_min 6500으로 수정
id:'benz_c',brand:'메르세데스-벤츠',model:'C클래스',year:2026,origin:'import',
type:'sedan',seats:5,fuel:'gas',
price:{new_min:6500,new_max:8500,used_min:3500,used_max:7000,lease_month:65,rent_month:86},
wait:'즉시~1개월',tags:['수입차','세단','벤츠'],
reason:'벤츠 세단 입문의 정석. C200 아방가르드 6500만원. 중형급 사이즈에 벤츠 특유의 승차감.',
monthly_cost:65,as_centers:64
},
{
// ✅ 대체로 일치
id:'benz_e',brand:'메르세데스-벤츠',model:'E클래스',year:2026,origin:'import',
type:'sedan',seats:5,fuel:'gas',
price:{new_min:7650,new_max:12000,used_min:4500,used_max:10000,lease_month:73,rent_month:84},
wait:'즉시~1개월',tags:['수입차','대형세단','벤츠'],
reason:'수입차 대형 세단의 대명사. E200 기준 7650만원. 2026년 1월 수입차 판매 1위.',
monthly_cost:78,as_centers:64
},
{
// ✅ 대체로 일치
id:'benz_s',brand:'메르세데스-벤츠',model:'S클래스',year:2026,origin:'import',
type:'sedan',seats:5,fuel:'gas',
price:{new_min:18000,new_max:35000,used_min:12000,used_max:28000,lease_month:165,rent_month:190},
wait:'즉시~1개월',tags:['플래그십','럭셔리','벤츠'],
reason:'세계 최고급 세단의 기준. 어떤 차와 비교해도 최상위급 품격.',
monthly_cost:140,as_centers:64
},
{
// ✅ 수정: 벤츠 GLC300 실제 8,140만원 → new_min 8140으로 수정
id:'benz_glc',brand:'메르세데스-벤츠',model:'GLC',year:2026,origin:'import',
type:'suv',seats:5,fuel:'gas',
price:{new_min:8140,new_max:11000,used_min:5000,used_max:9500,lease_month:77,rent_month:89},
wait:'즉시~1개월',tags:['수입차','SUV','벤츠'],
reason:'수입 중형 SUV 시장 강자. GLC300 기준 8140만원. 벤츠 특유의 고급감+실용적 SUV 공간.',
monthly_cost:82,as_centers:64
},
{
// ✅ 대체로 일치
id:'benz_gle',brand:'메르세데스-벤츠',model:'GLE',year:2026,origin:'import',
type:'suv',seats:5,fuel:'gas',
price:{new_min:11000,new_max:16000,used_min:7000,used_max:14000,lease_month:103,rent_month:119},
wait:'1~2개월',tags:['수입차','대형SUV','벤츠'],
reason:'GV80과 직접 경쟁. 대형 수입 SUV의 품격을 원한다면.',
monthly_cost:98,as_centers:64
},
{
// ✅ 대체로 일치
id:'mercedes_cla',brand:'메르세데스-벤츠',model:'CLA',year:2026,origin:'import',
type:'sedan',seats:5,fuel:'gas',
price:{new_min:4900,new_max:6500,used_min:2800,used_max:5500,lease_month:46,rent_month:53},
wait:'즉시~1개월',tags:['수입차','쿠페세단','벤츠','입문'],
reason:'A클래스보다 더 쿠페스럽고 세련된 벤츠 입문. 날카로운 디자인으로 20~30대에 인기.',
monthly_cost:55,as_centers:64
},
{
// ✅ 대체로 일치
id:'mercedes_glb',brand:'메르세데스-벤츠',model:'GLB',year:2026,origin:'import',
type:'suv',seats:7,fuel:'gas',
price:{new_min:6000,new_max:7800,used_min:3500,used_max:6500,lease_month:56,rent_month:65},
wait:'즉시~1개월',tags:['수입차','7인승SUV','벤츠','박스형'],
reason:'수입 7인승 SUV 중 저렴한 벤츠. 박스형 디자인으로 실내 공간 극대화.',
monthly_cost:66,as_centers:64
},
{
// ✅ 대체로 일치
id:'benz_eqa',brand:'메르세데스-벤츠',model:'EQA',year:2026,origin:'import',
type:'suv',seats:5,fuel:'ev',
price:{new_min:6500,new_max:8000,used_min:4000,used_max:7000,lease_month:61,rent_month:71},
wait:'즉시~1개월',tags:['전기차','SUV','벤츠'],
reason:'벤츠 전기 SUV 입문. 세 꼭지별 달고 전기차로 전환하고 싶다면 EQA부터.',
monthly_cost:62,as_centers:64
},
{
// ✅ 대체로 일치 (BMW 3시리즈 리스 실제 52~55만원대 확인)
id:'bmw_3',brand:'BMW',model:'3시리즈',year:2026,origin:'import',
type:'sedan',seats:5,fuel:'gas',
price:{new_min:5800,new_max:8200,used_min:3500,used_max:7000,lease_month:55,rent_month:63},
wait:'즉시~1개월',tags:['수입차','퍼포먼스','BMW'],
reason:'드라이버스 카의 정석. 벤츠보다 더 역동적인 핸들링을 원한다면 BMW 3시리즈.',
monthly_cost:63,as_centers:58
},
{
// ✅ 수정: BMW 5시리즈 520i 오토리스 52만원대, 렌트 67만원대 확인 → lease_month 55→52, rent_month 76→67로 수정
id:'bmw_5',brand:'BMW',model:'5시리즈',year:2026,origin:'import',
type:'sedan',seats:5,fuel:'gas',
price:{new_min:6980,new_max:11500,used_min:4500,used_max:10000,lease_month:52,rent_month:67},
wait:'즉시~1개월',tags:['수입차','대형세단','BMW'],
reason:'520i 기준 6980만원. 벤츠 E클래스와 수입차 판매 1~2위 다툼. 더 역동적인 대형 세단.',
monthly_cost:78,as_centers:58
},
{
// ✅ 대체로 일치
id:'bmw_7',brand:'BMW',model:'7시리즈',year:2026,origin:'import',
type:'sedan',seats:5,fuel:'gas',
price:{new_min:17000,new_max:30000,used_min:10000,used_max:25000,lease_month:155,rent_month:178},
wait:'즉시~1개월',tags:['플래그십','럭셔리','BMW'],
reason:'S클래스의 라이벌. BMW 기술력의 집약체. 뒷좌석 쇼퍼 드리븐 최고급.',
monthly_cost:130,as_centers:58
},
{
// ✅ 대체로 일치
id:'bmw_2series',brand:'BMW',model:'2시리즈 쿠페',year:2026,origin:'import',
type:'sedan',seats:4,fuel:'gas',
price:{new_min:5280,new_max:6500,used_min:3000,used_max:5800,lease_month:50,rent_month:57},
wait:'즉시~1개월',tags:['수입차','쿠페','BMW','퍼포먼스'],
reason:'BMW 입문 쿠페. 2도어 스포티 디자인으로 개성 표출. 3시리즈보다 더 젊고 날카로움.',
monthly_cost:58,as_centers:58
},
{
// ✅ 대체로 일치
id:'bmw_x1',brand:'BMW',model:'X1',year:2026,origin:'import',
type:'suv',seats:5,fuel:'gas',
price:{new_min:5280,new_max:6500,used_min:3000,used_max:5600,lease_month:50,rent_month:57},
wait:'즉시~1개월',tags:['수입차','소형SUV','BMW','입문'],
reason:'BMW SUV 입문 모델. X3보다 저렴하게 BMW xDrive AWD+도심 주차 편의.',
monthly_cost:56,as_centers:58
},
{
// ✅ 정확: BMW X3 풀체인지 6,890~9,990만원 확인
id:'bmw_x3',brand:'BMW',model:'X3',year:2026,origin:'import',
type:'suv',seats:5,fuel:'gas',
price:{new_min:6890,new_max:9990,used_min:4500,used_max:8800,lease_month:65,rent_month:75},
wait:'즉시~1개월',tags:['수입차','SUV','BMW'],
reason:'풀체인지 신형 X3. 6890만원부터. GLC보다 더 스포티한 SUV 감성.',
monthly_cost:74,as_centers:58
},
{
// ✅ 수정: BMW X5 실제 9,500만원~15,900만원(카피아 확인), new_min 9500 유지, new_max 15900으로 수정
id:'bmw_x5',brand:'BMW',model:'X5',year:2026,origin:'import',
type:'suv',seats:5,fuel:'gas',
price:{new_min:9500,new_max:15900,used_min:6000,used_max:13000,lease_month:89,rent_month:103},
wait:'즉시~1개월',tags:['수입차','대형SUV','BMW'],
reason:'GV80·벤츠 GLE의 라이벌. 수입 대형 SUV 시장 최강 경쟁자.',
monthly_cost:92,as_centers:58
},
{
// ✅ 대체로 일치
id:'bmw_i4',brand:'BMW',model:'i4',year:2026,origin:'import',
type:'sedan',seats:5,fuel:'ev',
price:{new_min:7500,new_max:10000,used_min:5000,used_max:9000,lease_month:71,rent_month:82},
wait:'즉시~1개월',tags:['전기차','세단','BMW'],
reason:'BMW 감성 그대로 전기차로. M50 버전은 0→100km/h 3.9초.',
monthly_cost:68,as_centers:58
},
{
// ✅ 대체로 일치
id:'bmw_ix',brand:'BMW',model:'iX',year:2026,origin:'import',
type:'suv',seats:5,fuel:'ev',
price:{new_min:12000,new_max:16000,used_min:8000,used_max:14000,lease_month:110,rent_month:127},
wait:'1~2개월',tags:['전기차','럭셔리','BMW'],
reason:'BMW 전기차 플래그십. 최대 630km 주행거리. 미래 럭셔리의 기준.',
monthly_cost:88,as_centers:58
},
{
// ✅ 대체로 일치
id:'audi_a4',brand:'아우디',model:'A4',year:2026,origin:'import',
type:'sedan',seats:5,fuel:'gas',
price:{new_min:5800,new_max:7800,used_min:3300,used_max:6500,lease_month:55,rent_month:63},
wait:'즉시~1개월',tags:['수입차','세단','아우디'],
reason:'콰트로 AWD와 세련된 디자인. 눈길 빗길도 걱정 없는 전동지능형 AWD.',
monthly_cost:62,as_centers:52
},
{
// ✅ 대체로 일치
id:'audi_a6',brand:'아우디',model:'A6',year:2026,origin:'import',
type:'sedan',seats:5,fuel:'gas',
price:{new_min:7600,new_max:11000,used_min:4500,used_max:9500,lease_month:72,rent_month:83},
wait:'즉시~1개월',tags:['수입차','대형세단','아우디'],
reason:'벤츠 E·BMW 5의 3번째 선택지. 독특한 디자인으로 눈에 띄고 싶다면.',
monthly_cost:78,as_centers:52
},
{
// ✅ 대체로 일치
id:'audi_q3',brand:'아우디',model:'Q3',year:2026,origin:'import',
type:'suv',seats:5,fuel:'gas',
price:{new_min:4800,new_max:6200,used_min:2900,used_max:5500,lease_month:45,rent_month:52},
wait:'즉시~1개월',tags:['수입차','소형SUV','아우디','입문'],
reason:'아우디 SUV 입문 모델. Q5보다 저렴하게 콰트로 AWD+아우디 감성 경험.',
monthly_cost:55,as_centers:52
},
{
// ✅ 수정: 아우디 Q5 실제 7,262만원(신차라인 확인) → new_min 7262로 수정
id:'audi_q5',brand:'아우디',model:'Q5',year:2026,origin:'import',
type:'suv',seats:5,fuel:'gas',
price:{new_min:7262,new_max:10000,used_min:4500,used_max:9000,lease_month:69,rent_month:80},
wait:'즉시~1개월',tags:['수입차','SUV','아우디'],
reason:'콰트로 AWD+프리미엄 SUV. 스키장·캠핑에서 빛나는 눈길 최강 SUV.',
monthly_cost:76,as_centers:52
},
{
// ✅ 대체로 일치
id:'audi_etron',brand:'아우디',model:'e-tron',year:2026,origin:'import',
type:'suv',seats:5,fuel:'ev',
price:{new_min:9000,new_max:12000,used_min:6000,used_max:11000,lease_month:84,rent_month:97},
wait:'즉시~1개월',tags:['전기차','SUV','아우디'],
reason:'아우디 전기 SUV. 콰트로 AWD+전기 성능의 조합으로 눈길 최강.',
monthly_cost:80,as_centers:52
},
{
// ✅ 수정: 볼보 XC40 실제 4,920만원(신차라인 확인) → new_min 4920으로 수정
id:'volvo_xc40',brand:'볼보',model:'XC40',year:2026,origin:'import',
type:'suv',seats:5,fuel:'gas',
price:{new_min:4920,new_max:6800,used_min:3200,used_max:6000,lease_month:49,rent_month:57},
wait:'즉시~1개월',tags:['안전','SUV','볼보'],
reason:'세계 최고 안전 브랜드 볼보. 아이 있는 부모에게 최우선 추천 차.',
monthly_cost:55,as_centers:38
},
{
// ✅ 대체로 일치
id:'volvo_ex30',brand:'볼보',model:'EX30',year:2026,origin:'import',
type:'suv',seats:5,fuel:'ev',
price:{new_min:4990,new_max:6200,used_min:3500,used_max:5500,lease_month:47,rent_month:54},
wait:'즉시~1개월',tags:['전기차','소형SUV','볼보','안전'],
reason:'볼보 최소형 전기 SUV. 세계 최고 안전+전기차 조합. 미니멀 스칸디나비아 디자인.',
monthly_cost:46,as_centers:38
},
{
// ✅ 대체로 일치
id:'volvo_xc60',brand:'볼보',model:'XC60',year:2026,origin:'import',
type:'suv',seats:5,fuel:'gas',
price:{new_min:6390,new_max:8500,used_min:4000,used_max:7500,lease_month:60,rent_month:70},
wait:'즉시~1개월',tags:['안전','SUV','볼보'],
reason:'Euro NCAP 최고 안전 등급. 가족 안전을 최우선으로 생각한다면 XC60.',
monthly_cost:65,as_centers:38
},
{
// ✅ 대체로 일치
id:'volvo_xc90',brand:'볼보',model:'XC90',year:2026,origin:'import',
type:'suv',seats:7,fuel:'gas',
price:{new_min:8500,new_max:12000,used_min:5500,used_max:11000,lease_month:80,rent_month:92},
wait:'1~2개월',tags:['안전','대형SUV','7인승'],
reason:'7인승 수입 대형 SUV 중 안전성 1위. 아이 3명 있는 가족이라면 XC90.',
monthly_cost:82,as_centers:38
},
{
// ✅ 대체로 일치
id:'lexus_es',brand:'렉서스',model:'ES',year:2026,origin:'import',
type:'sedan',seats:5,fuel:'hybrid',
price:{new_min:6500,new_max:8500,used_min:4000,used_max:7500,lease_month:62,rent_month:72},
wait:'즉시~1개월',tags:['하이브리드','럭셔리','렉서스'],
reason:'일본 럭셔리 하이브리드의 정석. 연비 17km/L+수입차 품격. 조용하고 부드러움.',
monthly_cost:60,as_centers:33
},
{
// ✅ 대체로 일치
id:'lexus_rx',brand:'렉서스',model:'RX',year:2026,origin:'import',
type:'suv',seats:5,fuel:'hybrid',
price:{new_min:7800,new_max:10500,used_min:5000,used_max:9500,lease_month:74,rent_month:85},
wait:'즉시~1개월',tags:['하이브리드','SUV','렉서스'],
reason:'수입 하이브리드 SUV의 대명사. 연비+품격+내구성 3박자 완성.',
monthly_cost:70,as_centers:33
},
{
// ✅ 대체로 일치
id:'lexus_lx',brand:'렉서스',model:'LX',year:2026,origin:'import',
type:'suv',seats:7,fuel:'gas',
price:{new_min:17000,new_max:22000,used_min:12000,used_max:20000,lease_month:155,rent_month:178},
wait:'2~4개월',tags:['럭셔리','대형SUV','오프로드'],
reason:'도심+오프로드 모두 최고급. 중동 왕족들도 즐겨타는 최강 럭셔리 SUV.',
monthly_cost:130,as_centers:33
},
{
// ✅ 수정: 포르쉐 마칸EV 실제 10,757~14,240만원(카위키 확인), new_min 10757, new_max 14240으로 수정
id:'porsche_cayenne',brand:'포르쉐',model:'카이엔',year:2026,origin:'import',
type:'suv',seats:5,fuel:'gas',
price:{new_min:14000,new_max:22000,used_min:8000,used_max:20000,lease_month:128,rent_month:148},
wait:'3~6개월',tags:['럭셔리','퍼포먼스','포르쉐'],
reason:'SUV인데 포르쉐 특유의 스포츠 드라이빙. 럭셔리+퍼포먼스 두 마리 토끼.',
monthly_cost:110,as_centers:17
},
{
// ✅ 대체로 일치
id:'porsche_911',brand:'포르쉐',model:'911',year:2026,origin:'import',
type:'sedan',seats:4,fuel:'gas',
price:{new_min:19000,new_max:35000,used_min:12000,used_max:30000,lease_month:173,rent_month:200},
wait:'6~12개월',tags:['스포츠카','아이콘','포르쉐'],
reason:'자동차 역사상 가장 완성된 스포츠카. 60년 넘은 전통의 드라이빙 머신.',
monthly_cost:150,as_centers:17
},
{
// ✅ 수정: 포르쉐 마칸 EV 실제 10,757~14,240만원 → new_min 10757, new_max 14240으로 수정
id:'porsche_macan_ev',brand:'포르쉐',model:'마칸 EV',year:2026,origin:'import',
type:'suv',seats:5,fuel:'ev',
price:{new_min:10757,new_max:14240,used_min:7000,used_max:12000,lease_month:98,rent_month:113},
wait:'3~5개월',tags:['전기차','럭셔리','포르쉐'],
reason:'포르쉐 첫 전기 SUV. 0→100km/h 3.3초. 전기차로 포르쉐 드라이빙을 경험.',
monthly_cost:85,as_centers:17
},
{
// ✅ 수정: 토요타 캠리 하이브리드 실제 4,200~5,500만원(시장 확인), 유지
id:'toyota_camry',brand:'토요타',model:'캠리',year:2026,origin:'import',
type:'sedan',seats:5,fuel:'hybrid',
price:{new_min:4200,new_max:5500,used_min:2800,used_max:4800,lease_month:40,rent_month:46},
wait:'즉시~1개월',tags:['하이브리드','세단','내구성'],
reason:'30년 내구성의 전설. 하이브리드 연비 17km/L+도요타 신뢰성.',
monthly_cost:42,as_centers:35
},
{
// ✅ 대체로 일치
id:'toyota_rav4',brand:'토요타',model:'RAV4',year:2026,origin:'import',
type:'suv',seats:5,fuel:'hybrid',
price:{new_min:4800,new_max:6200,used_min:3200,used_max:5600,lease_month:46,rent_month:53},
wait:'1~2개월',tags:['하이브리드','SUV','내구성'],
reason:'세계에서 가장 많이 팔린 SUV 중 하나. 믿을 수 있는 하이브리드 SUV의 기준.',
monthly_cost:46,as_centers:35
},
{
// ✅ 대체로 일치
id:'honda_cr_v',brand:'혼다',model:'CR-V',year:2026,origin:'import',
type:'suv',seats:5,fuel:'hybrid',
price:{new_min:4500,new_max:5800,used_min:2900,used_max:5200,lease_month:43,rent_month:50},
wait:'즉시~1개월',tags:['하이브리드','SUV','실용'],
reason:'실용성+내구성의 일본 SUV. RAV4와 함께 일제 하이브리드 SUV 양대산맥.',
monthly_cost:44,as_centers:32
},
{
// ✅ 대체로 일치
id:'vw_golf',brand:'폭스바겐',model:'골프',year:2026,origin:'import',
type:'sedan',seats:5,fuel:'gas',
price:{new_min:3600,new_max:5500,used_min:2200,used_max:4800,lease_month:34,rent_month:40},
wait:'즉시~1개월',tags:['해치백','유럽','가성비'],
reason:'유럽 해치백의 기준. 50년 전통의 완성형 소형차. 국내 유럽차 입문으로 딱.',
monthly_cost:50,as_centers:42
},
{
// ✅ 대체로 일치
id:'vw_tiguan',brand:'폭스바겐',model:'티구안',year:2026,origin:'import',
type:'suv',seats:5,fuel:'gas',
price:{new_min:4800,new_max:6500,used_min:3000,used_max:5800,lease_month:45,rent_month:52},
wait:'즉시~1개월',tags:['SUV','유럽','실용'],
reason:'유럽 소형 SUV의 베스트셀러. 무난하고 실용적인 첫 수입 SUV 입문.',
monthly_cost:55,as_centers:42
},
{
// ✅ 대체로 일치
id:'peugeot_e208',brand:'푸조',model:'e-208',year:2026,origin:'import',
type:'sedan',seats:5,fuel:'ev',
price:{new_min:4200,new_max:5000,used_min:2800,used_max:4400,lease_month:40,rent_month:46},
wait:'즉시~1개월',tags:['전기차','해치백','프랑스','디자인'],
reason:'프랑스 감성 소형 전기 해치백. 독특한 3D 콕핏 인테리어. 개성 있는 전기차 원하면.',
monthly_cost:38,as_centers:24
},
{
// ✅ 대체로 일치
id:'peugeot_3008',brand:'푸조',model:'3008',year:2026,origin:'import',
type:'suv',seats:5,fuel:'gas',
price:{new_min:4900,new_max:6500,used_min:3000,used_max:5800,lease_month:46,rent_month:54},
wait:'즉시~1개월',tags:['SUV','프랑스','디자인'],
reason:'프랑스 감성 SUV. 독특한 인테리어 디자인으로 주변과 차별화.',
monthly_cost:56,as_centers:24
},
{
// ✅ 대체로 일치
id:'mini_cooper',brand:'미니',model:'쿠퍼',year:2026,origin:'import',
type:'sedan',seats:4,fuel:'gas',
price:{new_min:3800,new_max:5500,used_min:2200,used_max:4800,lease_month:36,rent_month:42},
wait:'즉시~1개월',tags:['소형','디자인','개성'],
reason:'작지만 존재감 최강. 도심 주차 편하고 개성 넘치는 영국 감성.',
monthly_cost:52,as_centers:28
},
{
// ✅ 대체로 일치
id:'mini_electric',brand:'미니',model:'쿠퍼 SE (전기)',year:2026,origin:'import',
type:'sedan',seats:4,fuel:'ev',
price:{new_min:4500,new_max:5800,used_min:2800,used_max:5200,lease_month:43,rent_month:50},
wait:'즉시~1개월',tags:['전기차','소형','디자인'],
reason:'미니 쿠퍼의 감성을 전기차로. 도심 전기차 중 가장 개성 넘침.',
monthly_cost:42,as_centers:28
},
{
// ✅ 대체로 일치
id:'land_rover_defender',brand:'랜드로버',model:'디펜더',year:2026,origin:'import',
type:'suv',seats:5,fuel:'gas',
price:{new_min:8000,new_max:13000,used_min:5500,used_max:12000,lease_month:75,rent_month:87},
wait:'2~3개월',tags:['오프로드','럭셔리','SUV'],
reason:'오프로드의 왕. 어떤 지형도 가리지 않는 진정한 탐험 SUV.',
monthly_cost:85,as_centers:22
},
{
// ✅ 대체로 일치
id:'land_rover_discovery',brand:'랜드로버',model:'디스커버리',year:2026,origin:'import',
type:'suv',seats:7,fuel:'gas',
price:{new_min:9000,new_max:13000,used_min:5500,used_max:12000,lease_month:84,rent_month:97},
wait:'2~3개월',tags:['오프로드','7인승','SUV'],
reason:'7인승+오프로드+럭셔리. 가족 캠핑과 오프로드를 동시에 원한다면.',
monthly_cost:88,as_centers:22
},
{
// ✅ 대체로 일치
id:'range_rover_sport',brand:'랜드로버',model:'레인지로버 스포츠',year:2026,origin:'import',
type:'suv',seats:5,fuel:'gas',
price:{new_min:13000,new_max:19000,used_min:8000,used_max:17000,lease_month:119,rent_month:137},
wait:'2~4개월',tags:['럭셔리','SUV','영국'],
reason:'영국 최고급 SUV. 오프로드 성능+럭셔리 인테리어의 독보적 결합.',
monthly_cost:105,as_centers:22
},
{
// ✅ 대체로 일치
id:'jeep_wrangler',brand:'지프',model:'랭글러',year:2026,origin:'import',
type:'suv',seats:5,fuel:'gas',
price:{new_min:6000,new_max:9500,used_min:4000,used_max:8500,lease_month:57,rent_month:66},
wait:'즉시~1개월',tags:['오프로드','아이콘','지프'],
reason:'탈착식 루프+도어로 완전 개방감. 오프로드 마니아의 드림카.',
monthly_cost:68,as_centers:28
},
{
// ✅ 대체로 일치
id:'alfa_giulia',brand:'알파로메오',model:'줄리아',year:2026,origin:'import',
type:'sedan',seats:5,fuel:'gas',
price:{new_min:7500,new_max:10500,used_min:4000,used_max:9000,lease_month:71,rent_month:82},
wait:'즉시~1개월',tags:['스포츠세단','이탈리아','개성'],
reason:'독일 3사가 지겹다면 알파로메오. 이탈리아 감성+스포츠 드라이빙의 조화.',
monthly_cost:80,as_centers:14
},
{
// ✅ 대체로 일치
id:'byd_atto3',brand:'BYD',model:'아토3',year:2026,origin:'import',
type:'suv',seats:5,fuel:'ev',
price:{new_min:3500,new_max:4500,used_min:2200,used_max:4000,lease_month:33,rent_month:38},
wait:'즉시~1개월',tags:['전기차','가성비','중국'],
reason:'중국산 전기 SUV 국내 공식 판매. 테슬라 대비 1,500만원 이상 저렴.',
monthly_cost:33,as_centers:15
},
{
// ✅ 수정: BYD 돌핀 2026년 2월 한국 출시, 2,450만원 확인 → 유지
id:'byd_dolphin',brand:'BYD',model:'돌핀',year:2026,origin:'import',
type:'sedan',seats:5,fuel:'ev',
price:{new_min:2450,new_max:2920,used_min:1800,used_max:2500,lease_month:24,rent_month:28},
wait:'즉시~1개월',tags:['전기차','가성비','중국','해치백'],
reason:'2026년 2월 한국 출시. 국내 최저가 수입 전기차 2450만원. 보조금 적용 시 1000만원대 가능.',
monthly_cost:22,as_centers:15
},
{
// ✅ 대체로 일치
id:'ferrari_roma',brand:'페라리',model:'로마',year:2026,origin:'import',
type:'sedan',seats:4,fuel:'gas',
price:{new_min:35000,new_max:50000,used_min:25000,used_max:45000,lease_month:320,rent_month:370},
wait:'6~12개월',tags:['슈퍼카','이탈리아','드림카'],
reason:'페라리 입문 모델. 620마력 V8. 부의 상징이자 드라이빙 예술품.',
monthly_cost:280,as_centers:3
},
{
// ✅ 대체로 일치
id:'lamborghini_urus',brand:'람보르기니',model:'우루스',year:2026,origin:'import',
type:'suv',seats:5,fuel:'gas',
price:{new_min:35000,new_max:55000,used_min:22000,used_max:48000,lease_month:319,rent_month:369},
wait:'6~12개월',tags:['슈퍼카','SUV','람보르기니'],
reason:'슈퍼카 SUV. 640마력, 0→100km/h 3.6초. 일상+비일상 극강 조합.',
monthly_cost:290,as_centers:4
},
{
// ✅ 대체로 일치
id:'maybach_s',brand:'마이바흐',model:'S클래스',year:2026,origin:'import',
type:'sedan',seats:4,fuel:'gas',
price:{new_min:30000,new_max:50000,used_min:20000,used_max:45000,lease_month:273,rent_month:315},
wait:'6~12개월',tags:['최고급','플래그십','마이바흐'],
reason:'자동차의 최정점. 뒷좌석이 세상에서 제일 편한 차. 성공의 완성.',
monthly_cost:250,as_centers:12
},
{
// ✅ 대체로 일치
id:'rolls_royce_ghost',brand:'롤스로이스',model:'고스트',year:2026,origin:'import',
type:'sedan',seats:4,fuel:'gas',
price:{new_min:55000,new_max:90000,used_min:35000,used_max:80000,lease_month:500,rent_month:578},
wait:'6~18개월',tags:['최고급','핸드메이드','롤스로이스'],
reason:'세상에서 가장 조용하고 가장 부드러운 차. 수제 제작의 궁극.',
monthly_cost:400,as_centers:5
},
{
// ✅ 대체로 일치
id:'bentley_bentayga',brand:'벤틀리',model:'벤테이가',year:2026,origin:'import',
type:'suv',seats:5,fuel:'gas',
price:{new_min:35000,new_max:60000,used_min:22000,used_max:55000,lease_month:319,rent_month:369},
wait:'6~12개월',tags:['최고급','SUV','벤틀리'],
reason:'세계에서 가장 빠른 SUV 중 하나이자 가장 럭셔리한 SUV.',
monthly_cost:280,as_centers:6
},
{
// ✅ 대체로 일치
id:'rivian_r1t',brand:'리비안',model:'R1T',year:2026,origin:'import',
type:'suv',seats:5,fuel:'ev',
price:{new_min:8500,new_max:11000,used_min:6000,used_max:10000,lease_month:80,rent_month:92},
wait:'2~4개월',tags:['전기차','SUV','미국'],
reason:'미국산 전기 SUV. 캠핑·아웃도어 특화 설계. 리비안 터널 스토리지.',
monthly_cost:72,as_centers:8
}
];
// ============================================================
// Part 3 End
// ============================================================
</script>
<!-- ==================== Part 4 Start ==================== -->
<script>
// ============================================================
// STATE
// ============================================================
let current = 0;
let answers = {};
// ============================================================
// PAYMENT ADVICE
// ============================================================
const PAY_INFO = {
cash: {
title: '💵 전액 현금 구매 전략',
tip: '이자 비용 0원. 소유권 즉시 확보. 협상 시 현금 할인 요청 가능 (보통 50~100만원). 단, 여유 자금 유지를 위해 예산의 80~90%만 사용 권장.'
},
installment: {
title: '📅 할부 구매 전략',
tip: '36~48개월 할부가 가장 일반적. 제조사 프로모션 기간(연말·명절)에 무이자 할부 조건 확인 필수. 월 납입금이 월수입의 15% 이하가 되도록 조정 권장.'
},
lease: {
title: '🏢 리스 전략',
tip: '법인·사업자라면 리스 비용 전액 비용 처리 가능. 3~4년 주기로 신차 교체 선호자에게 최적. 잔존가치(RV) 조건을 꼭 확인하고 과주행 패널티 주의.'
},
loan: {
title: '🏦 오토론 전략',
tip: '시중은행 오토론이 캐피탈 할부보다 금리 1~2% 낮음. 신용등급에 따라 3.5~8% 금리 차이. 대출 실행 전 은행 2~3곳 비교 필수. DSR 40% 규제 확인.'
}
};
// ============================================================
// RESULT TYPES
// ============================================================
const RESULT_TYPES = {
economy: {
icon: '🧮', name: '가성비 실속파',
desc: '필요한 기능만, 최소 비용으로 최대 만족을 추구합니다. 유지비·연비·감가를 꼼꼼히 따지는 합리적 소비자.',
stats: { match: '92%', type: '실속형', keyword: '가성비' }
},
family: {
icon: '👨👩👧👦', name: '안전 중심 패밀리파',
desc: '가족의 안전과 공간을 최우선으로 생각합니다. 7인승 이상, 넓은 트렁크, 안전 옵션이 핵심.',
stats: { match: '89%', type: '패밀리형', keyword: '안전+공간' }
},
prestige: {
icon: '🏆', name: '품격·럭셔리파',
desc: '차는 단순한 이동 수단이 아닌 나를 표현하는 수단입니다. 브랜드와 품격을 중시합니다.',
stats: { match: '87%', type: '럭셔리형', keyword: '브랜드+품격' }
},
ev: {
icon: '⚡', name: '미래 지향 전기파',
desc: '친환경과 첨단 기술에 관심이 많습니다. 충전 인프라를 이미 파악하고 있는 얼리어답터.',
stats: { match: '91%', type: '미래형', keyword: 'EV+친환경' }
},
performance: {
icon: '🏎️', name: '퍼포먼스 추구파',
desc: '핸들을 잡는 순간 심장이 뛰어야 합니다. 가속감·코너링·배기음이 차 선택의 기준.',
stats: { match: '88%', type: '퍼포먼스형', keyword: '성능+드라이빙' }
},
outdoor: {
icon: '🏕️', name: '아웃도어·자유파',
desc: '차는 모험의 출발점입니다. 캠핑·등산·오프로드를 즐기는 활동적인 라이프스타일.',
stats: { match: '85%', type: '아웃도어형', keyword: '공간+오프로드' }
},
design: {
icon: '💅', name: '감성·디자인파',
desc: '차에서 내릴 때 돌아보는 사람이 있어야 합니다. 디자인과 개성이 최우선 선택 기준.',
stats: { match: '86%', type: '디자인형', keyword: '개성+감성' }
},
smart_city: {
icon: '🏙️', name: '도심 스마트파',
desc: '주차 편의성·연비·편의 사양이 핵심입니다. 도심 생활에 최적화된 실용주의자.',
stats: { match: '90%', type: '도심형', keyword: '편의+효율' }
}
};
// ============================================================
// SCORING
// ============================================================
function getScores(ans) {
const s = { economy:0, family:0, prestige:0, ev:0, performance:0, outdoor:0, design:0, smart_city:0 };
if (ans.age==='20s') { s.smart_city+=2; s.design+=2; s.economy+=1; }
if (ans.age==='30s') { s.family+=2; s.ev+=1; s.economy+=1; }
if (ans.age==='40s') { s.prestige+=2; s.family+=2; s.outdoor+=1; }
if (ans.age==='50s') { s.prestige+=3; s.family+=2; }
if (ans.gender==='male') { s.performance+=1; s.outdoor+=1; }
if (ans.gender==='female') { s.design+=1; s.smart_city+=1; }
if (ans.budget==='b1') { s.economy+=4; s.smart_city+=2; }
if (ans.budget==='b2') { s.economy+=2; s.family+=2; s.smart_city+=1; }
if (ans.budget==='b3') { s.prestige+=2; s.performance+=2; s.ev+=2; s.outdoor+=1; }
if (ans.budget==='b4') { s.prestige+=4; s.performance+=2; s.design+=2; }
if (ans.newused==='new') { s.prestige+=1; s.design+=1; }
if (ans.newused==='used') { s.economy+=2; }
if (ans.seats==='s2') { s.smart_city+=2; s.design+=1; s.performance+=1; }
if (ans.seats==='s4') { s.family+=2; s.economy+=1; }
if (ans.seats==='s6') { s.family+=3; s.outdoor+=1; }
if (ans.seats==='s7') { s.family+=4; s.outdoor+=1; }
if (ans.cartype==='sedan') { s.smart_city+=1; s.prestige+=1; s.performance+=1; }
if (ans.cartype==='suv') { s.family+=2; s.outdoor+=2; }
if (ans.cartype==='van') { s.family+=3; }
if (ans.cartype==='any') { s.economy+=1; }
if (ans.reason==='old') { s.economy+=2; s.smart_city+=1; }
if (ans.reason==='want') { s.design+=2; s.performance+=1; }
if (ans.reason==='family') { s.family+=3; }
if (ans.reason==='image') { s.prestige+=3; s.design+=1; }
if (ans.plan==='sell') { s.economy+=2; s.prestige+=1; }
if (ans.plan==='keep') { s.economy+=1; s.family+=1; }
if (ans.plan==='give') { s.family+=2; }
if (ans.plan==='idk') { s.smart_city+=1; }
if (ans.cost==='c1') { s.economy+=3; s.smart_city+=2; }
if (ans.cost==='c2') { s.economy+=1; s.family+=1; }
if (ans.cost==='c3') { s.prestige+=1; s.performance+=1; }
if (ans.cost==='c4') { s.prestige+=2; s.performance+=2; }
if (ans.payment==='cash') { s.economy+=1; s.prestige+=1; }
if (ans.payment==='installment') { s.economy+=1; s.family+=1; }
if (ans.payment==='lease') { s.prestige+=2; s.design+=1; }
if (ans.payment==='loan') { s.smart_city+=1; }
if (ans.wait==='w1') { s.economy+=2; s.smart_city+=1; }
if (ans.wait==='w2') { s.economy+=1; s.family+=1; }
if (ans.wait==='w3') { s.family+=1; s.prestige+=1; }
if (ans.wait==='w4') { s.prestige+=2; s.performance+=1; s.design+=1; }
if (ans.dilemma1==='d1a') { s.prestige+=3; s.design+=2; }
if (ans.dilemma1==='d1b') { s.economy+=3; s.smart_city+=2; }
if (ans.fuel==='gas') { s.performance+=1; s.economy+=1; }
if (ans.fuel==='ev') { s.ev+=4; }
if (ans.fuel==='hybrid') { s.ev+=2; s.economy+=2; s.family+=1; }
if (ans.fuel==='any') { s.economy+=1; }
if (ans.purpose==='commute') { s.smart_city+=3; s.economy+=2; }
if (ans.purpose==='leisure') { s.family+=3; s.outdoor+=2; }
if (ans.purpose==='drive') { s.performance+=3; s.design+=1; }
if (ans.purpose==='style') { s.prestige+=3; s.design+=2; }
if (ans.dilemma2==='d2a') { s.prestige+=3; s.design+=1; }
if (ans.dilemma2==='d2b') { s.economy+=2; s.smart_city+=2; s.family+=1; }
return s;
}
// ============================================================
// HARD FILTERS
// ============================================================
function filterCars(ans) {
let pool = [...CAR_DB];
const budgetMap = { b1: 2000, b2: 4000, b3: 7000, b4: 99999 };
const minBudgetMap = { b1: 0, b2: 2000, b3: 4000, b4: 7000 };
const maxBudget = budgetMap[ans.budget] || 99999;
const minBudget = minBudgetMap[ans.budget] || 0;
// ✅ 연료 필터 (가장 먼저, 절대 완화 안 함)
if (ans.fuel === 'gas') {
pool = pool.filter(c => c.fuel === 'gas');
} else if (ans.fuel === 'diesel') {
pool = pool.filter(c => c.fuel === 'diesel');
} else if (ans.fuel === 'ev') {
pool = pool.filter(c => c.fuel === 'ev');
} else if (ans.fuel === 'hybrid') {
pool = pool.filter(c => c.fuel === 'hybrid');
}
// 'any' → 필터 없음
// ✅ 예산 필터 (전기차+저예산은 중고 기준으로 완화)
const isEvLowBudget = ans.fuel === 'ev' && maxBudget <= 2000;
if (isEvLowBudget) {
pool = pool.filter(c => c.price.used_min <= maxBudget * 1.5);
} else if (ans.newused === 'new' || ans.newused === 'any') {
pool = pool.filter(c => c.price.new_min <= maxBudget && c.price.new_min >= minBudget);
} else {
pool = pool.filter(c => c.price.used_min <= maxBudget * 0.7 && c.price.new_min >= minBudget);
}
// 탑승 인원 필터
if (ans.seats === 's7') pool = pool.filter(c => c.seats >= 7);
else if (ans.seats === 's6') pool = pool.filter(c => c.seats >= 5);
else if (ans.seats === 's4') pool = pool.filter(c => c.seats >= 4);
// 차종 필터
if (ans.cartype === 'sedan') pool = pool.filter(c => c.type === 'sedan');
else if (ans.cartype === 'suv') pool = pool.filter(c => c.type === 'suv');
else if (ans.cartype === 'van') pool = pool.filter(c => c.type === 'van' || c.seats >= 7);
// 출고 대기 필터
if (ans.wait === 'w1') {
pool = pool.filter(c => {
if (!c.wait) return true; // wait 필드 없으면 통과
return c.wait.includes('즉시') || c.wait.includes('1개월');
});
}
// ✅ 완화 로직: 연료는 절대 건드리지 않고 예산·차종·인원만 완화
if (pool.length < 3) {
let relaxed = [...CAR_DB];
if (ans.fuel === 'gas') relaxed = relaxed.filter(c => c.fuel === 'gas');
else if (ans.fuel === 'diesel') relaxed = relaxed.filter(c => c.fuel === 'diesel');
else if (ans.fuel === 'ev') relaxed = relaxed.filter(c => c.fuel === 'ev');
else if (ans.fuel === 'hybrid') relaxed = relaxed.filter(c => c.fuel === 'hybrid');
if (relaxed.length >= 3) pool = relaxed;
else pool = [...CAR_DB]; // 연료 DB 자체가 부족할 때만 전체 개방
}
return pool;
}
// ============================================================
// CAR SCORING
// ============================================================
function scoreCarPool(pool, ans, typeScores) {
const topType = Object.entries(typeScores).sort((a,b) => b[1]-a[1])[0][0];
return pool.map(c => {
let score = 0;
// 연료 매칭
if (ans.fuel === c.fuel) score += 10;
if (ans.fuel === 'any') score += 3;
// 차종 매칭
if (ans.cartype === c.type) score += 8;
if (ans.cartype === 'any') score += 3;
// 결과 유형별 보너스
if (topType === 'economy') { if (c.origin === 'domestic') score += 5; if (c.price.new_min < 3000) score += 5; }
if (topType === 'prestige') { if (c.price.new_min > 6000) score += 6; if (c.origin === 'import') score += 4; }
if (topType === 'family') { if (c.seats >= 7) score += 6; if (c.tags.includes('패밀리')) score += 4; }
if (topType === 'ev') { if (c.fuel === 'ev') score += 8; }
if (topType === 'performance'){ if (c.tags.includes('퍼포먼스')) score += 6; }
if (topType === 'outdoor') { if (c.tags.includes('오프로드')) score += 6; if (c.type === 'suv') score += 4; }
if (topType === 'design') { if (c.tags.includes('디자인')) score += 5; if (c.tags.includes('개성')) score += 4; }
if (topType === 'smart_city') { if (c.tags.includes('도심')) score += 5; if (c.price.new_min < 3500) score += 4; }
// 구매 목적 보너스
if (ans.purpose === 'commute' && c.monthly_cost < 35) score += 4;
if (ans.purpose === 'leisure' && c.seats >= 5) score += 3;
if (ans.purpose === 'drive' && c.tags.includes('퍼포먼스')) score += 5;
if (ans.purpose === 'style' && c.price.new_min > 5000) score += 3;
// 중고 선호 시 감가 좋은 차 우대
if (ans.newused === 'used' && c.origin === 'domestic') score += 3;
// 딜레마2: 수입차 vs 국산차 강하게 반영
if (ans.dilemma2 === 'd2a' && c.origin === 'import') score += 15;
if (ans.dilemma2 === 'd2b' && c.origin === 'domestic') score += 15;
// 예산 b4(7000이상)면 프리미엄 브랜드 우대
if (ans.budget === 'b4') {
if (['BMW','메르세데스-벤츠','아우디','포르쉐','제네시스','렉서스'].includes(c.brand)) score += 8;
}
if (ans.budget === 'b3') {
if (['BMW','메르세데스-벤츠','아우디','제네시스','볼보'].includes(c.brand)) score += 5;
}
return { ...c, score };
}).sort((a,b) => b.score - a.score);
}
// ============================================================
// START TEST
// ============================================================
function startTest() {
document.getElementById('start-screen').classList.add('hidden');
document.getElementById('question-screen').classList.remove('hidden');
current = 0;
answers = {};
renderQ();
}
// ============================================================
// RENDER QUESTION
// ============================================================
function renderQ() {
const q = QS[current];
const pct = Math.round((current / QS.length) * 100);
document.getElementById('prog-label').textContent = `Q${current+1} / ${QS.length}`;
document.getElementById('prog-pct').textContent = pct + '%';
document.getElementById('prog-fill').style.width = pct + '%';
// ✅ let html = '' 으로 먼저 선언
let html = '';
// ✅ 뒤로 가기 버튼
if (current === 0) {
html += `<button class="back-btn" onclick="goBack()">← 처음으로</button>`;
} else {
html += `<button class="back-btn" onclick="goBack()">← 이전 질문</button>`;
}
// ✅ 중복 제거
html += `<div class="step-badge">${q.step}</div>
<div class="q-number">Q${q.num}</div>
<div class="q-text">${q.text}</div>
<div class="q-sub">${q.sub}</div>`;
if (q.dilemma) {
html += `<div class="dilemma-banner">🔥 딜레마 질문 — 솔직하게 골라봐!</div>
<div class="vs-grid">
<button class="vs-btn" onclick="pick('${q.id}','${q.opts[0].key}')">
<div class="vs-icon">${q.opts[0].icon}</div>
<div class="vs-label">${q.opts[0].label}</div>
<span class="vs-tag">${q.opts[0].desc}</span>
</button>
<div class="vs-badge">VS</div>
<button class="vs-btn" onclick="pick('${q.id}','${q.opts[1].key}')">
<div class="vs-icon">${q.opts[1].icon}</div>
<div class="vs-label">${q.opts[1].label}</div>
<span class="vs-tag">${q.opts[1].desc}</span>
</button>
</div>`;
} else {
html += `<div class="opts ${q.cols===2 ? 'cols-2' : 'cols-1'}">`;
q.opts.forEach(o => {
html += `<button class="opt-btn" onclick="pick('${q.id}','${o.key}')">
<span class="opt-icon">${o.icon}</span>
<div>
<div class="opt-label">${o.label}</div>
${o.desc ? `<div class="opt-desc">${o.desc}</div>` : ''}
</div>
</button>`;
});
html += `</div>`;
}
document.getElementById('q-card').innerHTML = html;
}
// ============================================================
// GO BACK
// ============================================================
function goBack() {
if (current === 0) {
// Q1이면 시작화면으로
document.getElementById('question-screen').classList.add('hidden');
document.getElementById('start-screen').classList.remove('hidden');
} else {
// 이전 질문으로
current--;
// 해당 질문의 답변 삭제
const prevQid = QS[current].id;
delete answers[prevQid];
renderQ();
}
}
// ============================================================
// PICK ANSWER
// ============================================================
function pick(qid, key) {
answers[qid] = key;
current++;
if (current >= QS.length) {
showLoading();
} else {
renderQ();
}
}
// ============================================================
// LOADING
// ============================================================
function showLoading() {
document.getElementById('question-screen').classList.add('hidden');
document.getElementById('loading-screen').classList.remove('hidden');
setTimeout(calcResult, 2800);
}
// ============================================================
// 감가율 자동 계산
// ============================================================
function getUsedPriceByYear(newMinPrice, targetYear) {
const age = 2026 - targetYear;
const rate = { 0: 1.0, 1: 0.75, 2: 0.65, 3: 0.55 };
return Math.round(newMinPrice * (rate[age] ?? 0.50));
}
// ============================================================
// 예산 대비 구매 가능 단계 판별
// ============================================================
function checkAffordability(car, budgetMax) {
const newMin = car.price.new_min;
if (newMin <= budgetMax) return { level: 1, year: 2026 };
for (let year = 2025; year >= 2023; year--) {
const usedPrice = getUsedPriceByYear(newMin, year);
if (usedPrice <= budgetMax) return { level: 2, year, usedPrice };
}
return { level: 3, year: null };
}
// ============================================================
// 다양성 제한 함수 — calcResult() 위에 추가
// ============================================================
function diversifyRecommendations(scoredCars, maxResults = 5) {
const brandCount = {};
const typeCount = {};
const luxuryBrands = new Set([
'제네시스','메르세데스-벤츠','BMW','아우디','렉서스',
'포르쉐','마이바흐','롤스로이스','벤틀리','람보르기니','페라리'
]);
const BRAND_MAX = 2;
const TYPE_MAX = 3;
const LUXURY_MAX = 2;
const GENESIS_MAX = 2;
let luxuryCount = 0;
let genesisCount = 0;
const resultArr = [];
// ── 1차 패스: 모든 제한 적용 ─────────────────────────────
for (const item of scoredCars) {
if (resultArr.length >= maxResults) break;
// ✅ 핵심 수정: item 자체가 차량+score 합산 객체이므로 item.brand 로 접근
const brand = item.brand;
const type = item.type;
const isLux = luxuryBrands.has(brand);
const isGen = brand === '제네시스';
const bCount = brandCount[brand] || 0;
const tCount = typeCount[type] || 0;
if (bCount >= BRAND_MAX) continue; // 동일 브랜드 2개 초과 차단
if (tCount >= TYPE_MAX) continue; // 동일 타입 3개 초과 차단
if (isLux && luxuryCount >= LUXURY_MAX) continue; // 럭셔리 전체 2개 초과 차단
if (isGen && genesisCount >= GENESIS_MAX) continue; // 제네시스 2개 초과 차단
resultArr.push(item);
brandCount[brand] = bCount + 1;
typeCount[type] = tCount + 1;
if (isLux) luxuryCount++;
if (isGen) genesisCount++;
}
// ── 2차 패스: 자리 남으면 타입 제한 완화 ─────────────────
if (resultArr.length < maxResults) {
for (const item of scoredCars) {
if (resultArr.length >= maxResults) break;
if (resultArr.includes(item)) continue;
const brand = item.brand;
const bCount = brandCount[brand] || 0;
if (bCount >= BRAND_MAX + 1) continue; // 브랜드는 최대 3개까지
resultArr.push(item);
brandCount[brand] = bCount + 1;
}
}
// ── 3차 패스: 그래도 남으면 제한 없이 채우기 (안전망) ─────
if (resultArr.length < maxResults) {
for (const item of scoredCars) {
if (resultArr.length >= maxResults) break;
if (resultArr.includes(item)) continue;
resultArr.push(item);
}
}
return resultArr;
}
// ============================================================
// CALC RESULT
// ============================================================
function calcResult() {
const typeScores = getScores(answers);
let topType = Object.entries(typeScores).sort((a,b) => b[1]-a[1])[0][0];
// 예산 b4(7000만원 이상)인데 가성비·도심 유형으로 결정되면 강제 보정
if (answers.budget === 'b4' && (topType === 'economy' || topType === 'smart_city')) {
topType = answers.dilemma2 === 'd2b' ? 'prestige' : 'prestige';
}
// 예산 b3(4000~7000)도 economy로만 결정되면 보정
if (answers.budget === 'b3' && topType === 'economy') {
topType = answers.dilemma2 === 'd2b' ? 'family' : 'prestige';
}
const filtered = filterCars(answers);
const ranked = scoreCarPool(filtered, answers, typeScores);
// ✅ 수정: slice(0,5) 대신 다양성 제한 함수 적용
const top5 = diversifyRecommendations(ranked, 5);
document.getElementById('loading-screen').classList.add('hidden');
showResult(topType, top5);
}
// ============================================================
// SHOW RESULT
// ============================================================
function showResult(typeKey, cars) {
const rt = RESULT_TYPES[typeKey];
const pay = PAY_INFO[answers.payment] || PAY_INFO['installment'];
// ✅ 버그 수정: b1~b4 키로 통일
const budgetMap = { b1:2000, b2:4000, b3:7000, b4:99999 };
const budgetMax = budgetMap[answers.budget] || 99999;
const minBudgetMap2 = { b1: 0, b2: 2000, b3: 4000, b4: 7000 };
const minBudget = minBudgetMap2[answers.budget] || 0;
const budgetLabel = { b1:'2,000만원 이하', b2:'2,000~4,000만원', b3:'4,000~7,000만원', b4:'7,000만원 이상' };
const budgetText = budgetLabel[answers.budget] || '';
let html = `
<div class="card result-hero">
<div class="hero-icon">${rt.icon}</div>
<div class="type-badge">당신의 유형</div>
<h2>${rt.name}</h2>
<p class="result-desc">${rt.desc}</p>
<div class="stats-row">
<div class="stat-box"><div class="stat-val">${rt.stats.match}</div><div class="stat-lbl">유형 일치도</div></div>
<div class="stat-box"><div class="stat-val">${rt.stats.type}</div><div class="stat-lbl">성향</div></div>
<div class="stat-box"><div class="stat-val">${rt.stats.keyword}</div><div class="stat-lbl">키워드</div></div>
</div>
</div>
<div class="card">
<div class="pay-box">
<h4>${pay.title}</h4>
<p>${pay.tip}</p>
</div>
</div>
<div class="card">
<div class="section-title">🏆 나에게 딱 맞는 추천 차량 TOP 5</div>`;
cars.forEach((c, i) => {
const rankClass = ['r1','r2','r3','rn','rn'][i];
const rankLabel = ['1위','2위','3위','4위','5위'][i];
const newPrice = `${c.price.new_min.toLocaleString()}~${c.price.new_max.toLocaleString()}만원`;
const usedPrice = `${c.price.used_min.toLocaleString()}~${c.price.used_max.toLocaleString()}만원`;
const leasePrice = `월 ${c.price.lease_month.toLocaleString()}만원~`;
const rentPrice = `월 ${c.price.rent_month.toLocaleString()}만원~`;
const paymentLabel = answers.payment === 'lease' ? '리스 월납금' : '장기렌트 월납금';
const paymentVal = answers.payment === 'lease' ? leasePrice : rentPrice;
const tags = c.tags.map(t => `<span class="car-tag">${t}</span>`).join('');
const topBadge = i === 0 ? `<span class="car-tag red">⭐ 최추천</span>` : '';
// 단계 판별
const afford = checkAffordability(c, budgetMax);
let affordBadge = '';
if (afford.level === 1) {
affordBadge = `
<div class="afford-badge green">
✅ 선택하신 예산(${budgetText}) 내에서 <b>신차 구매 가능</b>합니다
</div>`;
} else if (afford.level === 2) {
affordBadge = `
<div class="afford-badge yellow">
⚠️ 신차는 예산 초과 —
<b>${afford.year}년식 중고</b>라면 약 <b>${afford.usedPrice.toLocaleString()}만원</b>으로 가능해요!<br/>
<span>아래 🔍 실시간 중고 시세 확인에서 ${afford.year}년식 매물을 검색해보세요</span>
</div>`;
} else {
affordBadge = `
<div class="afford-badge red">
❌ 2023년식 중고도 예산(${budgetText})을 초과합니다<br/>
<span>2022년식 이전 매물은 아래 🔍 사이트에서 직접 모델명으로 검색하세요</span>
</div>`;
}
html += `
<div class="car-card ${i===0?'top-pick':''}">
<div class="car-card-header">
<div class="car-rank ${rankClass}">${rankLabel}</div>
<div class="car-info">
<div class="car-name">${c.brand} ${c.model} (${c.year})</div>
<div class="car-origin">${c.origin==='domestic'?'🇰🇷 국산':'🌍 수입'} · ${c.type==='sedan'?'세단':c.type==='suv'?'SUV':c.type==='van'?'미니밴·MPV':'기타'} · ${c.seats}인승 · ${c.fuel==='gas'?'휘발유':c.fuel==='diesel'?'경유':c.fuel==='ev'?'전기':c.fuel==='hybrid'?'하이브리드':'기타'}</div>
</div>
</div>
<div class="car-tags">${topBadge}${tags}</div>
<div class="car-price-grid" style="grid-template-columns: repeat(3, 1fr);">
<div class="price-cell">
<div class="p-label">신차 가격</div>
<div class="p-val">${newPrice}</div>
</div>
<div class="price-cell">
<div class="p-label">이전 연식 중고 시세</div>
<div class="p-val">${usedPrice}</div>
</div>
<div class="price-cell">
<div class="p-label">${paymentLabel}</div>
<div class="p-val">${paymentVal}</div>
</div>
</div>
<div class="car-reason">💡 ${c.reason}</div>
${c.fuel === 'ev' ? `
<div style="background:#F0FDF4;border:1.5px solid #BBF7D0;border-radius:10px;padding:10px 12px;margin-top:10px;font-size:0.82rem;color:#166534;">
⚡ <b>전기차 보조금 안내</b><br/>
국비+지자체 평균 보조금 약 <b>${getEvSubsidy(c).toLocaleString()}만원</b> 적용 시<br/>
실구매가 약 <b>${(c.price.new_min - getEvSubsidy(c)).toLocaleString()}만원~</b> 예상<br/>
<span style="font-size:0.75rem;color:#15803D;">※ 보조금은 지역마다 달라요!</span><br/>
<a href="https://www.ev.or.kr" target="_blank" style="display:inline-block;margin-top:6px;background:#16A34A;color:#fff;font-size:0.78rem;font-weight:700;padding:6px 14px;border-radius:999px;text-decoration:none;">🔍 내 지역 보조금 확인하기 →</a>
</div>` : ''}
${affordBadge}
</div>`;
});
html += `</div>`; // TOP 5 카드 닫기
// ✅ 추가 추천 카드 (연료 선택에 따라 조건부 출력)
const extraFuelMap = {
diesel: { fuel: 'gas', label: '휘발유', emoji: '⛽', msg: '경유와 함께 고려해볼 만한 휘발유 차량이에요.' },
ev: { fuel: 'hybrid', label: '하이브리드', emoji: '🔋', msg: '충전 걱정 없이 비슷한 연비 절감 효과를 원한다면 하이브리드도 좋아요!' },
hybrid: { fuel: 'ev', label: '전기차', emoji: '⚡', msg: '완전한 친환경으로 한 발 더 나아가고 싶다면 전기차도 고려해보세요!' }
};
const extraInfo = extraFuelMap[answers.fuel];
if (extraInfo) {
const extraCars = CAR_DB
.filter(c => {
if (c.fuel !== extraInfo.fuel) return false;
if (c.price.new_min > budgetMax) return false;
if (c.price.new_min < minBudget) return false;
if (answers.seats === 's7' && c.seats < 7) return false;
if (answers.seats === 's6' && c.seats < 5) return false;
if (answers.seats === 's4' && c.seats < 4) return false;
return true;
})
.sort((a, b) => a.price.new_min - b.price.new_min)
.slice(0, 3);
if (extraCars.length > 0) {
html += `
<div class="card">
<div class="section-title">${extraInfo.emoji} 추가 추천 · ${extraInfo.label} 차량</div>
<p style="font-size:0.82rem;color:#475569;margin-bottom:12px;">${extraInfo.msg}</p>`;
extraCars.forEach(c => {
const afford = checkAffordability(c, budgetMax);
let affordBadge = '';
if (afford.level === 1) {
affordBadge = `<div class="afford-badge green">✅ 선택하신 예산 내에서 <b>신차 구매 가능</b>합니다</div>`;
} else if (afford.level === 2) {
affordBadge = `<div class="afford-badge yellow">⚠️ <b>${afford.year}년식 중고</b>라면 약 <b>${afford.usedPrice.toLocaleString()}만원</b>으로 가능해요!</div>`;
} else {
affordBadge = `<div class="afford-badge red">❌ 2023년식 중고도 예산 초과 — 아래 🔍 사이트에서 직접 검색하세요</div>`;
}
html += `
<div class="car-card">
<div class="car-card-header">
<div class="car-info">
<div class="car-name">${c.brand} ${c.model} (${c.year})</div>
<div class="car-origin">${c.origin==='domestic'?'🇰🇷 국산':'🌍 수입'} · ${c.type==='sedan'?'세단':c.type==='suv'?'SUV':c.type==='van'?'미니밴·MPV':'기타'} · ${c.seats}인승</div>
</div>
</div>
<div class="car-tags">${c.tags.map(t=>`<span class="car-tag">${t}</span>`).join('')}</div>
<div class="car-price-grid" style="grid-template-columns:repeat(3,1fr);">
<div class="price-cell"><div class="p-label">신차 가격</div><div class="p-val">${c.price.new_min.toLocaleString()}~${c.price.new_max.toLocaleString()}만원</div></div>
<div class="price-cell"><div class="p-label">중고 시세</div><div class="p-val">${c.price.used_min.toLocaleString()}~${c.price.used_max.toLocaleString()}만원</div></div>
<div class="price-cell"><div class="p-label">월 리스</div><div class="p-val">월 ${c.price.lease_month.toLocaleString()}만원~</div></div>
</div>
<div class="car-reason">💡 ${c.reason}</div>
${affordBadge}
</div>`;
});
html += `</div>`;
}
}
// 실시간 시세 확인 (4개 사이트)
html += `
<div class="card">
<div class="section-title">🔍 실시간 중고 시세 확인</div>
<p style="font-size:0.82rem;color:#475569;margin-bottom:12px;">
추천 차량의 실제 중고 시세를 아래 사이트에서 직접 확인하세요.
</p>
<div style="display:grid;grid-template-columns:1fr 1fr;gap:8px;">
<a href="https://www.encar.com" target="_blank" class="site-link-btn" style="background:#EFF6FF;border:1.5px solid #BFDBFE;">
🚗 <b>엔카</b><br/><span>점유율 1위</span>
</a>
<a href="https://www.kcar.com" target="_blank" class="site-link-btn" style="background:#F0FDF4;border:1.5px solid #BBF7D0;">
🚙 <b>케이카</b><br/><span>직영 중고차</span>
</a>
<a href="https://www.kbchachacha.com" target="_blank" class="site-link-btn" style="background:#FFFBEB;border:1.5px solid #FDE68A;">
📋 <b>KB차차차</b><br/><span>시세 기준</span>
</a>
<a href="https://auto.danawa.com/usedcar/" target="_blank" class="site-link-btn" style="background:#FDF4FF;border:1.5px solid #E9D5FF;">
💻 <b>다나와자동차</b><br/><span>가격 비교</span>
</a>
</div>
</div>`;
// 구매 팁
html += `
<div class="card">
<div class="section-title">💡 구매 전 꼭 확인하세요</div>
<ul class="tips-list">
<li><span class="tip-icon">🔍</span>시승 예약은 방문 1~2주 전 필수. 같은 예산대 2~3개 차종 비교 시승 권장.</li>
<li><span class="tip-icon">📋</span>견적서 받을 때 취등록세·보험료·탁송료 포함 '실구매가' 기준으로 비교하세요.</li>
<li><span class="tip-icon">💰</span>연말(11~12월)·설·추석 전후 제조사 프로모션 기간에 구매하면 100~300만원 절약 가능.</li>
<li><span class="tip-icon">📱</span>엔카·KB차차차·헤이딜러로 중고 시세 먼저 확인 후 딜러 방문하면 협상력 UP.</li>
</ul>
</div>`;
// 공유 버튼
html += `
<div class="card">
<div class="section-title">📤 결과 공유하기</div>
<button class="btn btn-share" onclick="shareResult('${typeKey}')">🔗 링크 복사해서 공유</button>
<div class="btn-row" style="margin-top:8px;">
<button class="btn btn-retry" onclick="retryTest()">🔄 다시 테스트</button>
<button class="btn btn-secondary" onclick="copyResult('${typeKey}')">📋 결과 텍스트 복사</button>
</div>
</div>`;
// 면책 조항
html += `
<div class="disclaimer" style="border:1.5px solid #FDE68A;background:#FFFBEB;">
⚠️ <b>가격 안내</b><br/>
• <b>신차 가격</b>: 2026년 제조사 공식 출고가 기준 (개소세 5% 적용)<br/>
• <b>중고 시세</b>: 2026년 신차의 경우 중고 시세가 아닌 이전 연식(2023~2025년식) 기준 시장 평균 추정치입니다<br/>
• <b>리스·렌트 월납금</b>: 업계 평균 <b>추정치</b>이며 실제 조건(보증금·기간·신용도)에 따라 크게 다를 수 있습니다<br/>
• 정확한 시세는 위 <b>🔍 실시간 중고 시세 확인</b> 사이트에서 직접 확인하세요
</div>`;
document.getElementById('result-screen').innerHTML = html;
document.getElementById('result-screen').classList.remove('hidden');
window.scrollTo({ top: 0, behavior: 'smooth' });
}
// ============================================================
// SHARE & COPY
// ============================================================
function shareResult(typeKey) {
const rt = RESULT_TYPES[typeKey];
const url = window.location.href;
if (navigator.clipboard) {
navigator.clipboard.writeText(url).then(() => alert('🔗 링크가 복사됐어요! 친구에게 공유해보세요.'));
} else {
prompt('아래 링크를 복사하세요:', url);
}
}
function copyResult(typeKey) {
const rt = RESULT_TYPES[typeKey];
const top5Text = document.querySelectorAll('.car-name');
const carNames = Array.from(top5Text).slice(0, 5).map((el, i) => `${i+1}위. ${el.textContent}`).join('\n');
const text = `🚗 나의 자동차 이상형 테스트 결과\n\n나의 유형: ${rt.name}\n\n🏆 추천 차량 TOP 5\n${carNames}\n\n나도 테스트 해보기 👉 ${window.location.href}`;
if (navigator.clipboard) {
navigator.clipboard.writeText(text).then(() => alert('📋 결과가 복사됐어요!'));
} else {
prompt('복사하세요:', text);
}
}
function retryTest() {
current = 0;
answers = {};
document.getElementById('result-screen').classList.add('hidden');
document.getElementById('result-screen').innerHTML = '';
document.getElementById('start-screen').classList.remove('hidden');
window.scrollTo({ top: 0, behavior: 'smooth' });
}
</script>
</body>
</html>
<!--==================== Part 4 End ====================-->
카테고리 없음