✍️ 연플래닝 오리지널 — 「아하! 보이는 직관수학」 자체 제작. 모든 문제·정답 손검산 완료. 답안을 제출해야 해설·정답이 열립니다(먼저 스스로 풀어 보세요).
💬 더 필요한 게 있나요?
난이도 조절(더 쉽게 / 더 어렵게) · 다른 유형 · 특정 개념 집중 · 문항 수 등 무엇이든 적어 주세요. 선생님이 확인합니다. (공개 아님)
✏️ 손으로 풀어보세요
`; return s;
}
// ── 원 (반지름·지름·넓이 설명용) — 원 크기는 고정 도식 ──
function circ2(cfg){
const {r=5, showR=true, showD=false, sector=0, note='', W=250, H=235} = cfg;
const cx=W/2, cy=104, R=68;
let s=``; return s;
}
const P=[
{ tier:'기초', type:'self', kind:'num',
q:'반지름이 2 cm 인 원의 지름은 몇 cm 일까요?',
fig:circ2({r:2,showD:true,note:'지름은?'}),
answer:4,
hint:'지름 = 반지름 × 2!',
sol:{ ans:'4 cm', fig:null,
steps:['지름은 원을 가로지르는 가장 긴 선.','반지름 두 개를 이은 것과 같아요.','2 × 2 = 4 cm.']}},
{ tier:'기초', type:'self', kind:'num',
q:'반지름이 3 cm 인 원의 지름은 몇 cm 일까요?',
fig:circ2({r:3,showD:true,note:'지름은?'}),
answer:6,
hint:'지름 = 반지름 × 2!',
sol:{ ans:'6 cm', fig:null,
steps:['지름은 원을 가로지르는 가장 긴 선.','반지름 두 개를 이은 것과 같아요.','3 × 2 = 6 cm.']}},
{ tier:'기초', type:'self', kind:'num',
q:'반지름이 4 cm 인 원의 지름은 몇 cm 일까요?',
fig:circ2({r:4,showD:true,note:'지름은?'}),
answer:8,
hint:'지름 = 반지름 × 2!',
sol:{ ans:'8 cm', fig:null,
steps:['지름은 원을 가로지르는 가장 긴 선.','반지름 두 개를 이은 것과 같아요.','4 × 2 = 8 cm.']}},
{ tier:'기초', type:'self', kind:'num',
q:'반지름이 5 cm 인 원의 지름은 몇 cm 일까요?',
fig:circ2({r:5,showD:true,note:'지름은?'}),
answer:10,
hint:'지름 = 반지름 × 2!',
sol:{ ans:'10 cm', fig:null,
steps:['지름은 원을 가로지르는 가장 긴 선.','반지름 두 개를 이은 것과 같아요.','5 × 2 = 10 cm.']}},
{ tier:'기초', type:'self', kind:'num',
q:'반지름이 6 cm 인 원의 지름은 몇 cm 일까요?',
fig:circ2({r:6,showD:true,note:'지름은?'}),
answer:12,
hint:'지름 = 반지름 × 2!',
sol:{ ans:'12 cm', fig:null,
steps:['지름은 원을 가로지르는 가장 긴 선.','반지름 두 개를 이은 것과 같아요.','6 × 2 = 12 cm.']}},
{ tier:'기초', type:'self', kind:'num',
q:'반지름이 7 cm 인 원의 지름은 몇 cm 일까요?',
fig:circ2({r:7,showD:true,note:'지름은?'}),
answer:14,
hint:'지름 = 반지름 × 2!',
sol:{ ans:'14 cm', fig:null,
steps:['지름은 원을 가로지르는 가장 긴 선.','반지름 두 개를 이은 것과 같아요.','7 × 2 = 14 cm.']}},
{ tier:'기초', type:'self', kind:'num',
q:'반지름이 8 cm 인 원의 지름은 몇 cm 일까요?',
fig:circ2({r:8,showD:true,note:'지름은?'}),
answer:16,
hint:'지름 = 반지름 × 2!',
sol:{ ans:'16 cm', fig:null,
steps:['지름은 원을 가로지르는 가장 긴 선.','반지름 두 개를 이은 것과 같아요.','8 × 2 = 16 cm.']}},
{ tier:'기초', type:'self', kind:'num',
q:'반지름이 9 cm 인 원의 지름은 몇 cm 일까요?',
fig:circ2({r:9,showD:true,note:'지름은?'}),
answer:18,
hint:'지름 = 반지름 × 2!',
sol:{ ans:'18 cm', fig:null,
steps:['지름은 원을 가로지르는 가장 긴 선.','반지름 두 개를 이은 것과 같아요.','9 × 2 = 18 cm.']}},
{ tier:'기초', type:'self', kind:'num',
q:'반지름이 10 cm 인 원의 지름은 몇 cm 일까요?',
fig:circ2({r:10,showD:true,note:'지름은?'}),
answer:20,
hint:'지름 = 반지름 × 2!',
sol:{ ans:'20 cm', fig:null,
steps:['지름은 원을 가로지르는 가장 긴 선.','반지름 두 개를 이은 것과 같아요.','10 × 2 = 20 cm.']}},
{ tier:'기초', type:'self', kind:'num',
q:'반지름이 1 cm 인 원의 지름은 몇 cm 일까요?',
fig:circ2({r:1,showD:true,note:'지름은?'}),
answer:2,
hint:'지름 = 반지름 × 2!',
sol:{ ans:'2 cm', fig:null,
steps:['지름은 원을 가로지르는 가장 긴 선.','반지름 두 개를 이은 것과 같아요.','1 × 2 = 2 cm.']}},
{ tier:'중급', type:'self', kind:'num',
q:'반지름 2 cm 인 원의 둘레는 몇 cm 일까요? (원주율 3.14)',
fig:circ2({r:2,showD:true,note:'둘레는? (원주율 3.14)'}),
answer:12.56,
hint:'원의 둘레 = 지름 × 3.14!',
sol:{ ans:'12.56 cm', fig:null,
steps:['원의 둘레(원주) = 지름 × 원주율.','지름 = 2 × 2 = 4 cm.','4 × 3.14 = 12.56 cm. 원주율 3.14 = 둘레가 지름의 약 3.14배라는 뜻!']}},
{ tier:'중급', type:'self', kind:'num',
q:'반지름 3 cm 인 원의 둘레는 몇 cm 일까요? (원주율 3.14)',
fig:circ2({r:3,showD:true,note:'둘레는? (원주율 3.14)'}),
answer:18.84,
hint:'원의 둘레 = 지름 × 3.14!',
sol:{ ans:'18.84 cm', fig:null,
steps:['원의 둘레(원주) = 지름 × 원주율.','지름 = 3 × 2 = 6 cm.','6 × 3.14 = 18.84 cm. 원주율 3.14 = 둘레가 지름의 약 3.14배라는 뜻!']}},
{ tier:'중급', type:'self', kind:'num',
q:'반지름 4 cm 인 원의 둘레는 몇 cm 일까요? (원주율 3.14)',
fig:circ2({r:4,showD:true,note:'둘레는? (원주율 3.14)'}),
answer:25.12,
hint:'원의 둘레 = 지름 × 3.14!',
sol:{ ans:'25.12 cm', fig:null,
steps:['원의 둘레(원주) = 지름 × 원주율.','지름 = 4 × 2 = 8 cm.','8 × 3.14 = 25.12 cm. 원주율 3.14 = 둘레가 지름의 약 3.14배라는 뜻!']}},
{ tier:'중급', type:'self', kind:'num',
q:'반지름 5 cm 인 원의 둘레는 몇 cm 일까요? (원주율 3.14)',
fig:circ2({r:5,showD:true,note:'둘레는? (원주율 3.14)'}),
answer:31.4,
hint:'원의 둘레 = 지름 × 3.14!',
sol:{ ans:'31.4 cm', fig:null,
steps:['원의 둘레(원주) = 지름 × 원주율.','지름 = 5 × 2 = 10 cm.','10 × 3.14 = 31.4 cm. 원주율 3.14 = 둘레가 지름의 약 3.14배라는 뜻!']}},
{ tier:'중급', type:'self', kind:'num',
q:'반지름 6 cm 인 원의 둘레는 몇 cm 일까요? (원주율 3.14)',
fig:circ2({r:6,showD:true,note:'둘레는? (원주율 3.14)'}),
answer:37.68,
hint:'원의 둘레 = 지름 × 3.14!',
sol:{ ans:'37.68 cm', fig:null,
steps:['원의 둘레(원주) = 지름 × 원주율.','지름 = 6 × 2 = 12 cm.','12 × 3.14 = 37.68 cm. 원주율 3.14 = 둘레가 지름의 약 3.14배라는 뜻!']}},
{ tier:'중급', type:'self', kind:'num',
q:'반지름 7 cm 인 원의 둘레는 몇 cm 일까요? (원주율 3.14)',
fig:circ2({r:7,showD:true,note:'둘레는? (원주율 3.14)'}),
answer:43.96,
hint:'원의 둘레 = 지름 × 3.14!',
sol:{ ans:'43.96 cm', fig:null,
steps:['원의 둘레(원주) = 지름 × 원주율.','지름 = 7 × 2 = 14 cm.','14 × 3.14 = 43.96 cm. 원주율 3.14 = 둘레가 지름의 약 3.14배라는 뜻!']}},
{ tier:'중급', type:'self', kind:'num',
q:'반지름 8 cm 인 원의 둘레는 몇 cm 일까요? (원주율 3.14)',
fig:circ2({r:8,showD:true,note:'둘레는? (원주율 3.14)'}),
answer:50.24,
hint:'원의 둘레 = 지름 × 3.14!',
sol:{ ans:'50.24 cm', fig:null,
steps:['원의 둘레(원주) = 지름 × 원주율.','지름 = 8 × 2 = 16 cm.','16 × 3.14 = 50.24 cm. 원주율 3.14 = 둘레가 지름의 약 3.14배라는 뜻!']}},
{ tier:'중급', type:'self', kind:'num',
q:'반지름 9 cm 인 원의 둘레는 몇 cm 일까요? (원주율 3.14)',
fig:circ2({r:9,showD:true,note:'둘레는? (원주율 3.14)'}),
answer:56.52,
hint:'원의 둘레 = 지름 × 3.14!',
sol:{ ans:'56.52 cm', fig:null,
steps:['원의 둘레(원주) = 지름 × 원주율.','지름 = 9 × 2 = 18 cm.','18 × 3.14 = 56.52 cm. 원주율 3.14 = 둘레가 지름의 약 3.14배라는 뜻!']}},
{ tier:'중급', type:'self', kind:'num',
q:'반지름 10 cm 인 원의 둘레는 몇 cm 일까요? (원주율 3.14)',
fig:circ2({r:10,showD:true,note:'둘레는? (원주율 3.14)'}),
answer:62.8,
hint:'원의 둘레 = 지름 × 3.14!',
sol:{ ans:'62.8 cm', fig:null,
steps:['원의 둘레(원주) = 지름 × 원주율.','지름 = 10 × 2 = 20 cm.','20 × 3.14 = 62.8 cm. 원주율 3.14 = 둘레가 지름의 약 3.14배라는 뜻!']}},
{ tier:'중급', type:'self', kind:'num',
q:'반지름 1 cm 인 원의 둘레는 몇 cm 일까요? (원주율 3.14)',
fig:circ2({r:1,showD:true,note:'둘레는? (원주율 3.14)'}),
answer:6.28,
hint:'원의 둘레 = 지름 × 3.14!',
sol:{ ans:'6.28 cm', fig:null,
steps:['원의 둘레(원주) = 지름 × 원주율.','지름 = 1 × 2 = 2 cm.','2 × 3.14 = 6.28 cm. 원주율 3.14 = 둘레가 지름의 약 3.14배라는 뜻!']}},
{ tier:'상위', type:'self', kind:'num',
q:'반지름 2 cm 인 원의 넓이는 몇 cm² 일까요? (원주율 3.14)',
fig:circ2({r:2,note:'넓이는? (원주율 3.14)'}),
answer:12.56,
hint:'원의 넓이 = 반지름 × 반지름 × 3.14!',
sol:{ ans:'12.56 cm²', fig:null,
steps:['원을 잘게 잘라 번갈아 붙이면 직사각형에 가까워져요.','그 직사각형의 가로 = 둘레의 절반, 세로 = 반지름 → 넓이 = 반지름 × 반지름 × 원주율.','2 × 2 × 3.14 = 12.56 cm².']}},
{ tier:'상위', type:'self', kind:'num',
q:'반지름 3 cm 인 원의 넓이는 몇 cm² 일까요? (원주율 3.14)',
fig:circ2({r:3,note:'넓이는? (원주율 3.14)'}),
answer:28.26,
hint:'원의 넓이 = 반지름 × 반지름 × 3.14!',
sol:{ ans:'28.26 cm²', fig:null,
steps:['원을 잘게 잘라 번갈아 붙이면 직사각형에 가까워져요.','그 직사각형의 가로 = 둘레의 절반, 세로 = 반지름 → 넓이 = 반지름 × 반지름 × 원주율.','3 × 3 × 3.14 = 28.26 cm².']}},
{ tier:'상위', type:'self', kind:'num',
q:'반지름 4 cm 인 원의 넓이는 몇 cm² 일까요? (원주율 3.14)',
fig:circ2({r:4,note:'넓이는? (원주율 3.14)'}),
answer:50.24,
hint:'원의 넓이 = 반지름 × 반지름 × 3.14!',
sol:{ ans:'50.24 cm²', fig:null,
steps:['원을 잘게 잘라 번갈아 붙이면 직사각형에 가까워져요.','그 직사각형의 가로 = 둘레의 절반, 세로 = 반지름 → 넓이 = 반지름 × 반지름 × 원주율.','4 × 4 × 3.14 = 50.24 cm².']}},
{ tier:'상위', type:'self', kind:'num',
q:'반지름 5 cm 인 원의 넓이는 몇 cm² 일까요? (원주율 3.14)',
fig:circ2({r:5,note:'넓이는? (원주율 3.14)'}),
answer:78.5,
hint:'원의 넓이 = 반지름 × 반지름 × 3.14!',
sol:{ ans:'78.5 cm²', fig:null,
steps:['원을 잘게 잘라 번갈아 붙이면 직사각형에 가까워져요.','그 직사각형의 가로 = 둘레의 절반, 세로 = 반지름 → 넓이 = 반지름 × 반지름 × 원주율.','5 × 5 × 3.14 = 78.5 cm².']}},
{ tier:'상위', type:'self', kind:'num',
q:'반지름 10 cm 인 원의 넓이는 몇 cm² 일까요? (원주율 3.14)',
fig:circ2({r:10,note:'넓이는? (원주율 3.14)'}),
answer:314,
hint:'원의 넓이 = 반지름 × 반지름 × 3.14!',
sol:{ ans:'314 cm²', fig:null,
steps:['원을 잘게 잘라 번갈아 붙이면 직사각형에 가까워져요.','그 직사각형의 가로 = 둘레의 절반, 세로 = 반지름 → 넓이 = 반지름 × 반지름 × 원주율.','10 × 10 × 3.14 = 314 cm².']}},
{ tier:'상위', type:'self', kind:'num',
q:'반지름 10 cm 인 원의 180° 부채꼴의 넓이는 몇 cm² 일까요? (원주율 3.14)',
fig:circ2({r:10,sector:180,note:'180도 부채꼴의 넓이는?'}),
answer:157,
hint:'180° 는 한 바퀴(360°)의 절반이에요!',
sol:{ ans:'157 cm²', fig:null,
steps:['원 전체 넓이 = 10 × 10 × 3.14 = 314 cm².','180° 는 360° 의 180/360 = 절반.','314 × 180 ÷ 360 = 157 cm². 부채꼴은 원의 일부니까 그 비율만큼!']}},
{ tier:'상위', type:'self', kind:'num',
q:'반지름 10 cm 인 원의 90° 부채꼴의 넓이는 몇 cm² 일까요? (원주율 3.14)',
fig:circ2({r:10,sector:90,note:'90도 부채꼴의 넓이는?'}),
answer:78.5,
hint:'90° 는 한 바퀴(360°)의 4분의 1이에요!',
sol:{ ans:'78.5 cm²', fig:null,
steps:['원 전체 넓이 = 10 × 10 × 3.14 = 314 cm².','90° 는 360° 의 90/360 = 4분의 1.','314 × 90 ÷ 360 = 78.5 cm². 부채꼴은 원의 일부니까 그 비율만큼!']}},
{ tier:'상위', type:'self', kind:'num',
q:'반지름 10 cm 인 원의 270° 부채꼴의 넓이는 몇 cm² 일까요? (원주율 3.14)',
fig:circ2({r:10,sector:270,note:'270도 부채꼴의 넓이는?'}),
answer:235.5,
hint:'270° 는 한 바퀴(360°)의 4분의 3이에요!',
sol:{ ans:'235.5 cm²', fig:null,
steps:['원 전체 넓이 = 10 × 10 × 3.14 = 314 cm².','270° 는 360° 의 270/360 = 4분의 3.','314 × 270 ÷ 360 = 235.5 cm². 부채꼴은 원의 일부니까 그 비율만큼!']}},
{ tier:'상위', type:'self', kind:'num',
q:'반지름 10 cm 인 원의 120° 부채꼴의 넓이는 몇 cm² 일까요? (원주율 3.14)',
fig:circ2({r:10,sector:120,note:'120도 부채꼴의 넓이는?'}),
answer:104.67,
hint:'120° 는 한 바퀴(360°)의 3분의 1이에요!',
sol:{ ans:'104.67 cm²', fig:null,
steps:['원 전체 넓이 = 10 × 10 × 3.14 = 314 cm².','120° 는 360° 의 120/360 = 3분의 1.','314 × 120 ÷ 360 = 104.67 cm². 부채꼴은 원의 일부니까 그 비율만큼!']}},
{ tier:'상위', type:'self', kind:'num',
q:'반지름 10 cm 인 원의 60° 부채꼴의 넓이는 몇 cm² 일까요? (원주율 3.14)',
fig:circ2({r:10,sector:60,note:'60도 부채꼴의 넓이는?'}),
answer:52.33,
hint:'60° 는 한 바퀴(360°)의 6분의 1이에요!',
sol:{ ans:'52.33 cm²', fig:null,
steps:['원 전체 넓이 = 10 × 10 × 3.14 = 314 cm².','60° 는 360° 의 60/360 = 6분의 1.','314 × 60 ÷ 360 = 52.33 cm². 부채꼴은 원의 일부니까 그 비율만큼!']}},
{ tier:'최상위', type:'self', kind:'choice',
q:'원주율은 무엇을 뜻할까요?',
fig:null,
choices:['둘레가 지름의 몇 배인가','넓이가 반지름의 몇 배인가','지름이 반지름의 몇 배인가','알 수 없다'], answer:'둘레가 지름의 몇 배인가',
hint:'어떤 원이든 둘레 ÷ 지름 을 하면 항상 같은 수가 나와요.',
sol:{ ans:'둘레가 지름의 몇 배인가', fig:null,
steps:['큰 원이든 작은 원이든 둘레 ÷ 지름은 항상 같아요.','그 값이 약 3.14 — 이게 원주율.','즉 둘레는 지름의 약 3.14배! 모든 원이 공유하는 신기한 수예요.']}},
{ tier:'최상위', type:'self', kind:'num',
q:'반지름을 2배로 늘리면 원의 둘레는 몇 배가 될까요?',
fig:null,
answer:2,
hint:'둘레 = 지름 × 3.14. 반지름 2배면 지름도?',
sol:{ ans:'2', fig:null,
steps:['둘레 = 지름 × 3.14 = 반지름 × 2 × 3.14.','반지름이 2배면 둘레도 2배.','둘레는 길이니까 그대로 2배예요!']}},
{ tier:'최상위', type:'self', kind:'num',
q:'반지름을 2배로 늘리면 원의 넓이는 몇 배가 될까요?',
fig:null,
answer:4,
hint:'넓이 = 반지름 × 반지름 × 3.14. 반지름이 두 번 곱해져요!',
sol:{ ans:'4', fig:null,
steps:['넓이 = 반지름 × 반지름 × 3.14.','반지름이 2배 → 2 × 2 = 4배.','둘레는 2배인데 넓이는 4배! 넓이는 길이가 두 번 곱해져서 더 빨리 커져요.']}},
{ tier:'최상위', type:'self', kind:'num',
q:'반지름을 3배로 늘리면 넓이는 몇 배가 될까요?',
fig:null,
answer:9,
hint:'3 × 3 = ?',
sol:{ ans:'9', fig:null,
steps:['넓이 = 반지름 × 반지름 × 3.14.','3 × 3 = 9배.','길이 3배 → 넓이 9배. 피자를 반지름 3배로 만들면 9판 분량이에요!']}},
{ tier:'최상위', type:'self', kind:'num',
q:'둘레가 31.4 cm 인 원의 지름은 몇 cm 일까요? (원주율 3.14)',
fig:null,
answer:10,
hint:'둘레 = 지름 × 3.14 → 지름 = 둘레 ÷ 3.14',
sol:{ ans:'10', fig:null,
steps:['둘레 = 지름 × 3.14 → 31.4 = 지름 × 3.14.','지름 = 31.4 ÷ 3.14 = 10 cm.','공식을 거꾸로 쓰면 돼요!']}},
{ tier:'최상위', type:'self', kind:'num',
q:'넓이가 314 cm² 인 원의 반지름은 몇 cm 일까요? (원주율 3.14)',
fig:null,
answer:10,
hint:'반지름 × 반지름 × 3.14 = 314. 먼저 3.14로 나누세요!',
sol:{ ans:'10', fig:null,
steps:['반지름 × 반지름 × 3.14 = 314.','314 ÷ 3.14 = 100 → 반지름 × 반지름 = 100.','10 × 10 = 100 이므로 반지름 = 10 cm.']}},
{ 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:['원 둘레가 위쪽 절반, 아래쪽 절반으로 나뉘어 붙어요.','직사각형의 가로 = 원 둘레의 절반 = 반지름 × 3.14.','세로 = 반지름 → 넓이 = (반지름 × 3.14) × 반지름 = 반지름 × 반지름 × 3.14!']}},
{ tier:'최상위', type:'self', kind:'choice',
q:'지름 20 cm 피자와 지름 10 cm 피자 2판 중 어느 쪽이 더 클까요?',
fig:null,
choices:['20 cm 한 판','10 cm 두 판','같다','알 수 없다'], answer:'20 cm 한 판',
hint:'지름 2배 = 넓이 4배! 10 cm 피자 4판과 맞먹어요.',
sol:{ ans:'20 cm 한 판', fig:null,
steps:['20 cm 피자 넓이 = 10 × 10 × 3.14 = 314 cm².','10 cm 피자 한 판 = 5 × 5 × 3.14 = 78.5 cm² → 2판 = 157 cm².','314 > 157 — 20 cm 한 판이 2배나 커요! 지름이 2배면 넓이는 4배니까요.']}},
{ tier:'최상위', type:'self', kind:'choice',
q:'원주율이 정확히 3.14일까요?',
fig:null,
choices:['그렇다','아니다','작은 원만','알 수 없다'], answer:'아니다',
hint:'3.14는 어림값이에요. 실제로는 3.14159265…',
sol:{ ans:'아니다', fig:null,
steps:['원주율은 3.14159265358979… 로 끝없이 이어져요.','규칙도 없고 끝도 없어서 분수로도 정확히 못 써요.','3.14는 계산하기 쉽게 자른 어림값이에요! 진짜 원주율은 영원히 다 못 적어요.']}},
];
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='