✍️ 연플래닝 오리지널 — 「아하! 보이는 직관수학」 자체 제작. 모든 문제·정답 손검산 완료. 답안을 제출해야 해설·정답이 열립니다(먼저 스스로 풀어 보세요).
💬 더 필요한 게 있나요?
난이도 조절(더 쉽게 / 더 어렵게) · 다른 유형 · 특정 개념 집중 · 문항 수 등 무엇이든 적어 주세요. 선생님이 확인합니다. (공개 아님)
✏️ 손으로 풀어보세요
`; return s;
}
// ── 사각형 그리기 (분류용) ──
function quad(cfg){
const {kind='정사각형', W=240, H=200, note='', label='', mark=true} = cfg;
let P;
if(kind==='정사각형') P=[[70,40],[170,40],[170,140],[70,140]];
else if(kind==='직사각형') P=[[35,50],[205,50],[205,130],[35,130]];
else if(kind==='평행사변형') P=[[55,135],[165,135],[200,55],[90,55]];
else if(kind==='마름모') P=[[120,35],[190,90],[120,145],[50,90]];
else if(kind==='사다리꼴') P=[[30,140],[210,140],[165,55],[80,55]];
else P=[[40,45],[195,65],[175,145],[55,125]]; // 일반 사각형
let s=``; return s;
}
const P=[
{ tier:'기초', type:'self', kind:'choice',
q:'네 각이 모두 직각이고 네 변의 길이도 모두 같은 사각형을(를) 무엇이라고 할까요?',
fig:quad({kind:'정사각형',note:'이 사각형의 이름은?'}),
choices:['정사각형','직사각형','평행사변형','마름모'], answer:'정사각형',
hint:'사각형의 이름은 변이 평행한지와 각이 직각인지로 정해져요.',
sol:{ ans:'정사각형', fig:quad({kind:'정사각형',label:'정사각형'}),
steps:['사각형 이름은 변·각의 특징에서 나와요.','네 각이 모두 직각이고 네 변의 길이도 모두 같은 사각형 → 정사각형.','평행이 몇 쌍인지, 직각이 있는지를 보면 이름이 보여요!']}},
{ tier:'기초', type:'self', kind:'choice',
q:'네 각이 모두 직각인 사각형을(를) 무엇이라고 할까요?',
fig:quad({kind:'직사각형',note:'이 사각형의 이름은?'}),
choices:['정사각형','직사각형','평행사변형','마름모'], answer:'직사각형',
hint:'사각형의 이름은 변이 평행한지와 각이 직각인지로 정해져요.',
sol:{ ans:'직사각형', fig:quad({kind:'직사각형',label:'직사각형'}),
steps:['사각형 이름은 변·각의 특징에서 나와요.','네 각이 모두 직각인 사각형 → 직사각형.','평행이 몇 쌍인지, 직각이 있는지를 보면 이름이 보여요!']}},
{ tier:'기초', type:'self', kind:'choice',
q:'마주 보는 두 쌍의 변이 서로 평행한 사각형을(를) 무엇이라고 할까요?',
fig:quad({kind:'평행사변형',note:'이 사각형의 이름은?'}),
choices:['정사각형','직사각형','평행사변형','마름모'], answer:'평행사변형',
hint:'사각형의 이름은 변이 평행한지와 각이 직각인지로 정해져요.',
sol:{ ans:'평행사변형', fig:quad({kind:'평행사변형',label:'평행사변형'}),
steps:['사각형 이름은 변·각의 특징에서 나와요.','마주 보는 두 쌍의 변이 서로 평행한 사각형 → 평행사변형.','평행이 몇 쌍인지, 직각이 있는지를 보면 이름이 보여요!']}},
{ tier:'기초', type:'self', kind:'choice',
q:'네 변의 길이가 모두 같은 사각형을(를) 무엇이라고 할까요?',
fig:quad({kind:'마름모',note:'이 사각형의 이름은?'}),
choices:['정사각형','직사각형','평행사변형','마름모'], answer:'마름모',
hint:'사각형의 이름은 변이 평행한지와 각이 직각인지로 정해져요.',
sol:{ ans:'마름모', fig:quad({kind:'마름모',label:'마름모'}),
steps:['사각형 이름은 변·각의 특징에서 나와요.','네 변의 길이가 모두 같은 사각형 → 마름모.','평행이 몇 쌍인지, 직각이 있는지를 보면 이름이 보여요!']}},
{ tier:'기초', type:'self', kind:'choice',
q:'평행한 변이 한 쌍이라도 있는 사각형을(를) 무엇이라고 할까요?',
fig:quad({kind:'사다리꼴',note:'이 사각형의 이름은?'}),
choices:['사다리꼴','마름모','정사각형','평행사변형'], answer:'사다리꼴',
hint:'사각형의 이름은 변이 평행한지와 각이 직각인지로 정해져요.',
sol:{ ans:'사다리꼴', fig:quad({kind:'사다리꼴',label:'사다리꼴'}),
steps:['사각형 이름은 변·각의 특징에서 나와요.','평행한 변이 한 쌍이라도 있는 사각형 → 사다리꼴.','평행이 몇 쌍인지, 직각이 있는지를 보면 이름이 보여요!']}},
{ tier:'기초', type:'self', kind:'choice',
q:'네 각이 모두 직각이고 네 변의 길이도 모두 같은 사각형을(를) 무엇이라고 할까요?',
fig:quad({kind:'정사각형',note:'이 사각형의 이름은?'}),
choices:['정사각형','직사각형','평행사변형','마름모'], answer:'정사각형',
hint:'사각형의 이름은 변이 평행한지와 각이 직각인지로 정해져요.',
sol:{ ans:'정사각형', fig:quad({kind:'정사각형',label:'정사각형'}),
steps:['사각형 이름은 변·각의 특징에서 나와요.','네 각이 모두 직각이고 네 변의 길이도 모두 같은 사각형 → 정사각형.','평행이 몇 쌍인지, 직각이 있는지를 보면 이름이 보여요!']}},
{ tier:'기초', type:'self', kind:'choice',
q:'네 각이 모두 직각인 사각형을(를) 무엇이라고 할까요?',
fig:quad({kind:'직사각형',note:'이 사각형의 이름은?'}),
choices:['정사각형','직사각형','평행사변형','마름모'], answer:'직사각형',
hint:'사각형의 이름은 변이 평행한지와 각이 직각인지로 정해져요.',
sol:{ ans:'직사각형', fig:quad({kind:'직사각형',label:'직사각형'}),
steps:['사각형 이름은 변·각의 특징에서 나와요.','네 각이 모두 직각인 사각형 → 직사각형.','평행이 몇 쌍인지, 직각이 있는지를 보면 이름이 보여요!']}},
{ tier:'기초', type:'self', kind:'choice',
q:'마주 보는 두 쌍의 변이 서로 평행한 사각형을(를) 무엇이라고 할까요?',
fig:quad({kind:'평행사변형',note:'이 사각형의 이름은?'}),
choices:['정사각형','직사각형','평행사변형','마름모'], answer:'평행사변형',
hint:'사각형의 이름은 변이 평행한지와 각이 직각인지로 정해져요.',
sol:{ ans:'평행사변형', fig:quad({kind:'평행사변형',label:'평행사변형'}),
steps:['사각형 이름은 변·각의 특징에서 나와요.','마주 보는 두 쌍의 변이 서로 평행한 사각형 → 평행사변형.','평행이 몇 쌍인지, 직각이 있는지를 보면 이름이 보여요!']}},
{ tier:'기초', type:'self', kind:'choice',
q:'네 변의 길이가 모두 같은 사각형을(를) 무엇이라고 할까요?',
fig:quad({kind:'마름모',note:'이 사각형의 이름은?'}),
choices:['정사각형','직사각형','평행사변형','마름모'], answer:'마름모',
hint:'사각형의 이름은 변이 평행한지와 각이 직각인지로 정해져요.',
sol:{ ans:'마름모', fig:quad({kind:'마름모',label:'마름모'}),
steps:['사각형 이름은 변·각의 특징에서 나와요.','네 변의 길이가 모두 같은 사각형 → 마름모.','평행이 몇 쌍인지, 직각이 있는지를 보면 이름이 보여요!']}},
{ tier:'기초', type:'self', kind:'choice',
q:'평행한 변이 한 쌍이라도 있는 사각형을(를) 무엇이라고 할까요?',
fig:quad({kind:'사다리꼴',note:'이 사각형의 이름은?'}),
choices:['사다리꼴','마름모','정사각형','평행사변형'], answer:'사다리꼴',
hint:'사각형의 이름은 변이 평행한지와 각이 직각인지로 정해져요.',
sol:{ ans:'사다리꼴', fig:quad({kind:'사다리꼴',label:'사다리꼴'}),
steps:['사각형 이름은 변·각의 특징에서 나와요.','평행한 변이 한 쌍이라도 있는 사각형 → 사다리꼴.','평행이 몇 쌍인지, 직각이 있는지를 보면 이름이 보여요!']}},
{ tier:'중급', type:'self', kind:'choice',
q:'정사각형은 직사각형이라고 할 수 있을까요?',
fig:null,
choices:['그렇다','아니다','정사각형만','알 수 없다'], answer:'그렇다',
hint:'직사각형 = 네 각이 모두 직각. 정사각형도 네 각이 직각이죠?',
sol:{ ans:'그렇다', fig:null,
steps:['직사각형의 조건 = 네 각이 모두 직각.','정사각형도 네 각이 모두 직각이에요.','그래서 정사각형은 직사각형에 포함돼요! (변까지 같은 특별한 직사각형)']}},
{ tier:'중급', type:'self', kind:'choice',
q:'직사각형은 항상 정사각형일까요?',
fig:null,
choices:['그렇다','아니다','정사각형만','알 수 없다'], answer:'아니다',
hint:'가로 5, 세로 3인 직사각형 — 네 변이 같나요?',
sol:{ ans:'아니다', fig:null,
steps:['직사각형은 네 각만 직각이면 돼요.','가로 5·세로 3이면 네 변이 다르죠.','그래서 직사각형이 항상 정사각형은 아니에요.']}},
{ tier:'중급', type:'self', kind:'choice',
q:'정사각형은 마름모라고 할 수 있을까요?',
fig:null,
choices:['그렇다','아니다','정사각형만','알 수 없다'], answer:'그렇다',
hint:'마름모 = 네 변이 모두 같은 사각형!',
sol:{ ans:'그렇다', fig:null,
steps:['마름모의 조건 = 네 변이 모두 같음.','정사각형도 네 변이 모두 같아요.','그래서 정사각형은 마름모이기도 해요! (각까지 직각인 특별한 마름모)']}},
{ tier:'중급', type:'self', kind:'choice',
q:'평행사변형은 사다리꼴이라고 할 수 있을까요?',
fig:null,
choices:['그렇다','아니다','정사각형만','알 수 없다'], answer:'그렇다',
hint:'사다리꼴 = 평행한 변이 한 쌍이라도 있으면 OK!',
sol:{ ans:'그렇다', fig:null,
steps:['사다리꼴 = 평행한 변이 한 쌍이라도 있음.','평행사변형은 두 쌍이 평행해요.','한 쌍보다 많으니 조건을 만족 → 사다리꼴에 포함돼요!']}},
{ tier:'중급', type:'self', kind:'choice',
q:'마름모는 항상 정사각형일까요?',
fig:null,
choices:['그렇다','아니다','정사각형만','알 수 없다'], answer:'아니다',
hint:'네 변이 같아도 각이 기울어질 수 있어요!',
sol:{ ans:'아니다', fig:null,
steps:['마름모는 네 변만 같으면 돼요.','각이 기울어진 마름모도 있어요(다이아몬드 모양).','각이 모두 직각일 때만 정사각형 → 항상은 아니에요.']}},
{ tier:'중급', type:'self', kind:'choice',
q:'직사각형은 평행사변형일까요?',
fig:null,
choices:['그렇다','아니다','정사각형만','알 수 없다'], answer:'그렇다',
hint:'직사각형도 마주 보는 변이 평행해요!',
sol:{ ans:'그렇다', fig:null,
steps:['평행사변형 = 마주 보는 두 쌍이 평행.','직사각형도 마주 보는 변이 평행해요.','그래서 직사각형은 평행사변형에 포함돼요!']}},
{ tier:'중급', type:'self', kind:'choice',
q:'사다리꼴은 항상 평행사변형일까요?',
fig:null,
choices:['그렇다','아니다','정사각형만','알 수 없다'], answer:'아니다',
hint:'평행한 변이 한 쌍만 있는 사다리꼴을 떠올려 보세요.',
sol:{ ans:'아니다', fig:null,
steps:['사다리꼴은 평행한 변이 한 쌍만 있어도 돼요.','한 쌍만 평행하면 평행사변형이 아니에요.','그래서 항상은 아니에요.']}},
{ tier:'중급', type:'self', kind:'num',
q:'네 각이 모두 직각인 사각형의 각의 합은 몇 도일까요?',
fig:null,
answer:360,
hint:'90 × 4 = ?',
sol:{ ans:'360', fig:null,
steps:['네 각이 모두 90°.','90 × 4 = 360°.','사실 모든 사각형의 각의 합이 360°예요!']}},
{ tier:'중급', type:'self', kind:'choice',
q:'평행사변형의 마주 보는 변의 길이는 어떨까요?',
fig:null,
choices:['같다','다르다','마주 보는 변만 다르다','알 수 없다'], answer:'같다',
hint:'평행사변형을 반으로 접어 보면?',
sol:{ ans:'같다', fig:null,
steps:['평행사변형은 마주 보는 변이 평행해요.','평행할 뿐 아니라 길이도 같아요.','그래서 평행사변형은 마주 보는 두 변이 항상 같은 길이!']}},
{ tier:'중급', type:'self', kind:'choice',
q:'마름모의 네 변의 길이는 어떨까요?',
fig:null,
choices:['모두 같다','두 변만 같다','모두 다르다','알 수 없다'], answer:'모두 같다',
hint:'마름모의 정의를 떠올려 보세요.',
sol:{ ans:'모두 같다', fig:null,
steps:['마름모의 정의 = 네 변의 길이가 모두 같은 사각형.','그래서 네 변이 모두 같아요.','정사각형은 여기에 「각도 직각」 조건이 더 붙은 거예요!']}},
{ tier:'상위', type:'self', kind:'num',
q:'가로 5 cm, 세로 3 cm 인 직사각형의 네 변의 길이의 합은 몇 cm 일까요?',
fig:quad({kind:'직사각형',note:'가로 5 cm, 세로 3 cm — 둘레는?'}),
answer:16,
hint:'직사각형은 마주 보는 변이 같아요. 가로 2개 + 세로 2개!',
sol:{ ans:'16 cm', fig:null,
steps:['직사각형은 가로가 2개, 세로가 2개.','(5 + 3) × 2 = 16 cm.','둘레 = (가로 + 세로) × 2 — 이 공식을 기억해요!']}},
{ tier:'상위', type:'self', kind:'num',
q:'가로 7 cm, 세로 4 cm 인 직사각형의 네 변의 길이의 합은 몇 cm 일까요?',
fig:quad({kind:'직사각형',note:'가로 7 cm, 세로 4 cm — 둘레는?'}),
answer:22,
hint:'직사각형은 마주 보는 변이 같아요. 가로 2개 + 세로 2개!',
sol:{ ans:'22 cm', fig:null,
steps:['직사각형은 가로가 2개, 세로가 2개.','(7 + 4) × 2 = 22 cm.','둘레 = (가로 + 세로) × 2 — 이 공식을 기억해요!']}},
{ tier:'상위', type:'self', kind:'num',
q:'가로 6 cm, 세로 6 cm 인 직사각형의 네 변의 길이의 합은 몇 cm 일까요?',
fig:quad({kind:'직사각형',note:'가로 6 cm, 세로 6 cm — 둘레는?'}),
answer:24,
hint:'직사각형은 마주 보는 변이 같아요. 가로 2개 + 세로 2개!',
sol:{ ans:'24 cm', fig:null,
steps:['직사각형은 가로가 2개, 세로가 2개.','(6 + 6) × 2 = 24 cm.','둘레 = (가로 + 세로) × 2 — 이 공식을 기억해요!']}},
{ tier:'상위', type:'self', kind:'num',
q:'가로 8 cm, 세로 2 cm 인 직사각형의 네 변의 길이의 합은 몇 cm 일까요?',
fig:quad({kind:'직사각형',note:'가로 8 cm, 세로 2 cm — 둘레는?'}),
answer:20,
hint:'직사각형은 마주 보는 변이 같아요. 가로 2개 + 세로 2개!',
sol:{ ans:'20 cm', fig:null,
steps:['직사각형은 가로가 2개, 세로가 2개.','(8 + 2) × 2 = 20 cm.','둘레 = (가로 + 세로) × 2 — 이 공식을 기억해요!']}},
{ tier:'상위', type:'self', kind:'num',
q:'가로 9 cm, 세로 5 cm 인 직사각형의 네 변의 길이의 합은 몇 cm 일까요?',
fig:quad({kind:'직사각형',note:'가로 9 cm, 세로 5 cm — 둘레는?'}),
answer:28,
hint:'직사각형은 마주 보는 변이 같아요. 가로 2개 + 세로 2개!',
sol:{ ans:'28 cm', fig:null,
steps:['직사각형은 가로가 2개, 세로가 2개.','(9 + 5) × 2 = 28 cm.','둘레 = (가로 + 세로) × 2 — 이 공식을 기억해요!']}},
{ tier:'상위', type:'self', kind:'num',
q:'가로 10 cm, 세로 4 cm 인 직사각형의 네 변의 길이의 합은 몇 cm 일까요?',
fig:quad({kind:'직사각형',note:'가로 10 cm, 세로 4 cm — 둘레는?'}),
answer:28,
hint:'직사각형은 마주 보는 변이 같아요. 가로 2개 + 세로 2개!',
sol:{ ans:'28 cm', fig:null,
steps:['직사각형은 가로가 2개, 세로가 2개.','(10 + 4) × 2 = 28 cm.','둘레 = (가로 + 세로) × 2 — 이 공식을 기억해요!']}},
{ tier:'상위', type:'self', kind:'num',
q:'가로 12 cm, 세로 3 cm 인 직사각형의 네 변의 길이의 합은 몇 cm 일까요?',
fig:quad({kind:'직사각형',note:'가로 12 cm, 세로 3 cm — 둘레는?'}),
answer:30,
hint:'직사각형은 마주 보는 변이 같아요. 가로 2개 + 세로 2개!',
sol:{ ans:'30 cm', fig:null,
steps:['직사각형은 가로가 2개, 세로가 2개.','(12 + 3) × 2 = 30 cm.','둘레 = (가로 + 세로) × 2 — 이 공식을 기억해요!']}},
{ tier:'상위', type:'self', kind:'num',
q:'가로 6 cm, 세로 5 cm 인 직사각형의 네 변의 길이의 합은 몇 cm 일까요?',
fig:quad({kind:'직사각형',note:'가로 6 cm, 세로 5 cm — 둘레는?'}),
answer:22,
hint:'직사각형은 마주 보는 변이 같아요. 가로 2개 + 세로 2개!',
sol:{ ans:'22 cm', fig:null,
steps:['직사각형은 가로가 2개, 세로가 2개.','(6 + 5) × 2 = 22 cm.','둘레 = (가로 + 세로) × 2 — 이 공식을 기억해요!']}},
{ tier:'상위', type:'self', kind:'num',
q:'가로 11 cm, 세로 2 cm 인 직사각형의 네 변의 길이의 합은 몇 cm 일까요?',
fig:quad({kind:'직사각형',note:'가로 11 cm, 세로 2 cm — 둘레는?'}),
answer:26,
hint:'직사각형은 마주 보는 변이 같아요. 가로 2개 + 세로 2개!',
sol:{ ans:'26 cm', fig:null,
steps:['직사각형은 가로가 2개, 세로가 2개.','(11 + 2) × 2 = 26 cm.','둘레 = (가로 + 세로) × 2 — 이 공식을 기억해요!']}},
{ tier:'상위', type:'self', kind:'num',
q:'가로 15 cm, 세로 5 cm 인 직사각형의 네 변의 길이의 합은 몇 cm 일까요?',
fig:quad({kind:'직사각형',note:'가로 15 cm, 세로 5 cm — 둘레는?'}),
answer:40,
hint:'직사각형은 마주 보는 변이 같아요. 가로 2개 + 세로 2개!',
sol:{ ans:'40 cm', fig:null,
steps:['직사각형은 가로가 2개, 세로가 2개.','(15 + 5) × 2 = 40 cm.','둘레 = (가로 + 세로) × 2 — 이 공식을 기억해요!']}},
{ tier:'최상위', type:'self', kind:'num',
q:'한 변이 6 cm 인 정사각형의 네 변의 길이의 합은?',
fig:null,
answer:24,
hint:'정사각형은 네 변이 모두 같아요!',
sol:{ ans:'24', fig:null,
steps:['정사각형은 네 변이 모두 같음.','6 × 4 = 24 cm.','정사각형 둘레 = 한 변 × 4']}},
{ tier:'최상위', type:'self', kind:'num',
q:'네 변의 길이의 합이 20 cm 인 정사각형의 한 변은 몇 cm 일까요?',
fig:null,
answer:5,
hint:'20을 네 변이 똑같이 나눠 가지면?',
sol:{ ans:'5', fig:null,
steps:['정사각형은 네 변이 모두 같음.','20 ÷ 4 = 5 cm.','거꾸로 생각하기 — 둘레를 4로 나누면 한 변!']}},
{ tier:'최상위', type:'self', kind:'num',
q:'한 변이 8 cm 인 마름모의 네 변의 길이의 합은?',
fig:null,
answer:32,
hint:'마름모도 네 변이 모두 같아요!',
sol:{ ans:'32', fig:null,
steps:['마름모는 네 변이 모두 같음.','8 × 4 = 32 cm.','마름모 둘레도 한 변 × 4예요!']}},
{ tier:'최상위', type:'self', kind:'num',
q:'가로 9 cm, 세로 4 cm 인 평행사변형의 네 변의 길이의 합은?',
fig:null,
answer:26,
hint:'평행사변형도 마주 보는 변이 같아요!',
sol:{ ans:'26', fig:null,
steps:['평행사변형은 마주 보는 변이 같음.','(9 + 4) × 2 = 26 cm.','직사각형과 둘레 구하는 법이 똑같아요!']}},
{ tier:'최상위', type:'self', kind:'num',
q:'직사각형의 둘레가 18 cm 이고 가로가 5 cm 일 때 세로는 몇 cm 일까요?',
fig:null,
answer:4,
hint:'(가로+세로) × 2 = 18. 가로+세로는?',
sol:{ ans:'4', fig:null,
steps:['(가로 + 세로) × 2 = 18 → 가로 + 세로 = 9.','9 − 5 = 4 cm.','공식을 거꾸로 되짚어 가면 돼요!']}},
{ tier:'최상위', type:'self', kind:'num',
q:'모든 사각형의 각의 합은 몇 도일까요?',
fig:null,
answer:360,
hint:'사각형은 대각선 하나로 삼각형 2개!',
sol:{ ans:'360', fig:null,
steps:['사각형에 대각선을 하나 그으면 삼각형 2개.','삼각형 하나 = 180°.','180 × 2 = 360° — 어떤 사각형이든 똑같아요!']}},
{ tier:'최상위', type:'self', kind:'num',
q:'평행사변형의 한 각이 70° 일 때 이웃한 각은 몇 도일까요?',
fig:null,
answer:110,
hint:'이웃한 두 각의 합은 180°예요!',
sol:{ ans:'110', fig:null,
steps:['평행사변형은 이웃한 두 각의 합이 180°.','180 − 70 = 110°.','평행선 사이의 성질 때문이에요!']}},
{ tier:'최상위', type:'self', kind:'choice',
q:'정사각형·직사각형·평행사변형·사다리꼴 중 가장 넓은 뜻을 가진 이름은?',
fig:null,
choices:['정사각형','직사각형','평행사변형','사다리꼴'], answer:'사다리꼴',
hint:'조건이 가장 느슨한 것이 가장 많은 도형을 품어요.',
sol:{ ans:'사다리꼴', fig:null,
steps:['사다리꼴 = 평행한 변 한 쌍만 있으면 OK — 조건이 가장 느슨해요.','평행사변형·직사각형·정사각형이 전부 사다리꼴에 들어가요.','조건이 느슨할수록 더 많은 도형을 품어요!']}},
{ tier:'최상위', type:'self', kind:'choice',
q:'정사각형은 사다리꼴이라고 할 수 있을까요?',
fig:null,
choices:['그렇다','아니다','정사각형만','알 수 없다'], answer:'그렇다',
hint:'정사각형도 평행한 변이 있죠?',
sol:{ ans:'그렇다', fig:null,
steps:['사다리꼴 = 평행한 변이 한 쌍이라도 있음.','정사각형은 두 쌍이 평행해요.','조건을 만족하니 → 사다리꼴이 맞아요! (사각형 이름은 서로 포개져 있어요)']}},
{ tier:'최상위', type:'self', kind:'choice',
q:'네 변이 모두 같은데 각이 직각이 아닌 사각형의 이름은?',
fig:null,
choices:['마름모','사다리꼴','직사각형','평행사변형'], answer:'마름모',
hint:'네 변이 같지만 기울어진 모양!',
sol:{ ans:'마름모', fig:null,
steps:['네 변이 모두 같음 → 마름모 또는 정사각형.','각이 직각이 아니면 정사각형이 아니에요.','그래서 마름모예요!']}},
];
const TIERS=['기초','중급','상위','최상위'];
const TIER_DESC={기초:'영상만 봐도 바로 풀려요 — 배운 걸 그대로 적용.',중급:'한 번 더 생각 — 거꾸로·변형. 영상 안에 답이 있어요.',상위:'아래 학년 개념(선수 단원)을 함께 써야 풀려요.',최상위:'여러 개념·역발상·함정까지. 최고 난도.'};
let curTier='기초';
function tierProblems(t){ return P.map((p,i)=>({p,i})).filter(o=>o.p.tier===t); }
function renderTabs(){
const tb=document.getElementById('tabs'); tb.innerHTML='';
TIERS.forEach(t=>{ const n=tierProblems(t).length;
const b=document.createElement('button'); b.className='tab'+(t===curTier?' on':''); b.textContent=`${t} (${n})`;
b.onclick=()=>{curTier=t; renderTabs(); renderList();}; tb.appendChild(b); });
document.getElementById('tierNote').textContent=TIER_DESC[curTier];
}
function esc(x){return String(x).replace(/&/g,'&').replace(//g,'>');}
function renderList(){
const L=document.getElementById('list'); L.innerHTML='';
const items=tierProblems(curTier);
if(!items.length){ L.innerHTML='