feat(study): 보기 동그라미 숫자 (①②③④) 형식 지원 + 10회분 추가
운영 중 발견 — 2023년 이후 회차 md 가 보기를 ①②③④ 으로 표기. 파서가 "1번:" / "1." / "1)" 만 매칭해서 100문항 보기 1~4번 비어있음 → import abort. CIRCLED 매핑 활용해서 동그라미 숫자도 처리 추가. 운영 결과 (10회분 추가, 누락 png 제외): - 2022년 3회 / 2023년 1회: 100건 (이미지 0) - 2023년 2회: 98건 / 2023년 3회: 96건 (png 일부 누락) - 2024년 1·2·3회: 각 98건 (png 누락) - 2025년 1·2·3회: 97/99/97건 (png 누락) - audit: HC 0 / LC-5 1건 자동 fix (q2183 표 구분자) - 누락 png 19건은 사용자 추후 보충 예정 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,9 @@
|
|||||||
|
# 2022년 3회 — 이미지 필요 문항 리포트
|
||||||
|
|
||||||
|
## 사용자가 확인할 것
|
||||||
|
|
||||||
|
- missing_png — 0건
|
||||||
|
- placeholder_skipped — 0건
|
||||||
|
- **attach_planned — 0건** (apply 시 자동 첨부 예정)
|
||||||
|
|
||||||
|
---
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
# 2023년 1회 — 이미지 필요 문항 리포트
|
||||||
|
|
||||||
|
## 사용자가 확인할 것
|
||||||
|
|
||||||
|
- missing_png — 0건
|
||||||
|
- placeholder_skipped — 0건
|
||||||
|
- **attach_planned — 0건** (apply 시 자동 첨부 예정)
|
||||||
|
|
||||||
|
---
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
# 2023년 2회 — 이미지 필요 문항 리포트
|
||||||
|
|
||||||
|
## 사용자가 확인할 것
|
||||||
|
|
||||||
|
- **missing_png — 2건 ⚠** (이 항목이 있으면 apply 금지)
|
||||||
|
- 15번 / 가스유체역학 — 15.png 필요
|
||||||
|
- 95번 / 가스계측기기 — 95.png 필요
|
||||||
|
- placeholder_skipped — 0건
|
||||||
|
- **attach_planned — 0건** (apply 시 자동 첨부 예정)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 누락 (missing_png) — 2건 ⚠
|
||||||
|
|
||||||
|
### 15번 / 가스유체역학 / 압축성 유동 / 수렴-발산 노즐
|
||||||
|
- md: /Users/hyungiahn/Desktop/가스기사/2023년 2회/01 가스유체역학/15.md
|
||||||
|
- png: MISSING (15.png)
|
||||||
|
- 설명: 수렴-발산 노즐(Throat 포함) 그래프, P/P0 vs L 곡선과 a~k 점, gg', hh' 충격파 표시.
|
||||||
|
- 상태: missing_png (dry-run 실패. apply 금지)
|
||||||
|
- 처리: 이미지 파일 필요
|
||||||
|
|
||||||
|
### 95번 / 가스계측기기 / 자동제어 / 제어동작
|
||||||
|
- md: /Users/hyungiahn/Desktop/가스기사/2023년 2회/05 가스계측기기/95.md
|
||||||
|
- png: MISSING (95.png)
|
||||||
|
- 설명: 입력 신호 그래프(시간 비례 ramp)와 출력 신호 그래프(일정값 step) 2개.
|
||||||
|
- 상태: missing_png (dry-run 실패. apply 금지)
|
||||||
|
- 처리: 이미지 파일 필요
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
# 2023년 3회 — 이미지 필요 문항 리포트
|
||||||
|
|
||||||
|
## 사용자가 확인할 것
|
||||||
|
|
||||||
|
- **missing_png — 4건 ⚠** (이 항목이 있으면 apply 금지)
|
||||||
|
- 2번 / 가스유체역학 — 2.png 필요
|
||||||
|
- 5번 / 가스유체역학 — 5.png 필요
|
||||||
|
- 7번 / 가스유체역학 — 7.png 필요
|
||||||
|
- 38번 / 연소공학 — 38.png 필요
|
||||||
|
- placeholder_skipped — 0건
|
||||||
|
- **attach_planned — 0건** (apply 시 자동 첨부 예정)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 누락 (missing_png) — 4건 ⚠
|
||||||
|
|
||||||
|
### 2번 / 가스유체역학 / 경사마노미터·차압 (`01_fluid/02_pressure/14_경사마노미터_개념.md` 참고)
|
||||||
|
- md: /Users/hyungiahn/Desktop/가스기사/2023년 3회/01 가스유체역학/2.md
|
||||||
|
- png: MISSING (2.png)
|
||||||
|
- 설명: 경사 마노미터 그림.
|
||||||
|
- 상태: missing_png (dry-run 실패. apply 금지)
|
||||||
|
- 처리: 이미지 파일 필요
|
||||||
|
|
||||||
|
### 5번 / 가스유체역학 / 축소-확대 노즐·임계 (`01_fluid/06_dynamics/14_노즐_임계_개념.md` 참고)
|
||||||
|
- md: /Users/hyungiahn/Desktop/가스기사/2023년 3회/01 가스유체역학/5.md
|
||||||
|
- png: MISSING (5.png)
|
||||||
|
- 설명: 축소-확대 노즐 P/P₀ 곡선 그림 (A·B·C·D·X).
|
||||||
|
- 상태: missing_png (dry-run 실패. apply 금지)
|
||||||
|
- 처리: 이미지 파일 필요
|
||||||
|
|
||||||
|
### 7번 / 가스유체역학 / 마노미터·압력차 (`01_fluid/02_pressure/15_마노미터_개념.md` 참고)
|
||||||
|
- md: /Users/hyungiahn/Desktop/가스기사/2023년 3회/01 가스유체역학/7.md
|
||||||
|
- png: MISSING (7.png)
|
||||||
|
- 설명: 3 유체 마노미터 그림 (γ₁·γ₂·γ₃, a·b·c).
|
||||||
|
- 상태: missing_png (dry-run 실패. apply 금지)
|
||||||
|
- 처리: 이미지 파일 필요
|
||||||
|
|
||||||
|
### 38번 / 연소공학 / 정수압·층상 (`02_combustion/02_thermodynamics/22_정수압_개념.md` 참고)
|
||||||
|
- md: /Users/hyungiahn/Desktop/가스기사/2023년 3회/02 연소공학/38.md
|
||||||
|
- png: MISSING (38.png)
|
||||||
|
- 설명: 기름 + 물 층 그림 (40 cm + 90 cm).
|
||||||
|
- 상태: missing_png (dry-run 실패. apply 금지)
|
||||||
|
- 처리: 이미지 파일 필요
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
# 2024년 1회 — 이미지 필요 문항 리포트
|
||||||
|
|
||||||
|
## 사용자가 확인할 것
|
||||||
|
|
||||||
|
- **missing_png — 2건 ⚠** (이 항목이 있으면 apply 금지)
|
||||||
|
- 11번 / 가스유체역학 — 11.png 필요
|
||||||
|
- 43번 / 가스설비 — 43.png 필요
|
||||||
|
- placeholder_skipped — 0건
|
||||||
|
- **attach_planned — 0건** (apply 시 자동 첨부 예정)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 누락 (missing_png) — 2건 ⚠
|
||||||
|
|
||||||
|
### 11번 / 가스유체역학 / 토리첼리 정리·등가깊이 (`01_fluid/06_dynamics/` 참고)
|
||||||
|
- md: /Users/hyungiahn/Desktop/가스기사/2024년 1회/01 가스유체역학/11.md
|
||||||
|
- png: MISSING (11.png)
|
||||||
|
- 설명: 그림: 위쪽 비중 0.7 유체 A가 5m, 아래쪽 물 10m, 바닥 측면에서 V로 유출되는 탱크 단면도.
|
||||||
|
- 상태: missing_png (dry-run 실패. apply 금지)
|
||||||
|
- 처리: 이미지 파일 필요
|
||||||
|
|
||||||
|
### 43번 / 가스설비 / 액화가스 비용적·과충전 (`03_facility/` 참고)
|
||||||
|
- md: /Users/hyungiahn/Desktop/가스기사/2024년 1회/03 가스설비/43.md
|
||||||
|
- png: MISSING (43.png)
|
||||||
|
- 설명: 그림: 비용적(L/kg) vs 온도(℃) 그래프 (비용적 1.9~2.7, 온도 10~70℃ 범위).
|
||||||
|
- 상태: missing_png (dry-run 실패. apply 금지)
|
||||||
|
- 처리: 이미지 파일 필요
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
# 2024년 2회 — 이미지 필요 문항 리포트
|
||||||
|
|
||||||
|
## 사용자가 확인할 것
|
||||||
|
|
||||||
|
- **missing_png — 2건 ⚠** (이 항목이 있으면 apply 금지)
|
||||||
|
- 3번 / 가스유체역학 — 3.png 필요
|
||||||
|
- 19번 / 가스유체역학 — 19.png 필요
|
||||||
|
- placeholder_skipped — 0건
|
||||||
|
- **attach_planned — 0건** (apply 시 자동 첨부 예정)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 누락 (missing_png) — 2건 ⚠
|
||||||
|
|
||||||
|
### 3번 / 가스유체역학 / 유체정역학 / U자관 마노미터
|
||||||
|
- md: /Users/hyungiahn/Desktop/가스기사/2024년 2회/01 가스유체역학/3.md
|
||||||
|
- png: MISSING (3.png)
|
||||||
|
- 설명: U자관 마노미터 그림 (물 관 안에 A, B 두 지점, 아래쪽에 수은 U자관, 수은 높이 차 h를 표시).
|
||||||
|
- 상태: missing_png (dry-run 실패. apply 금지)
|
||||||
|
- 처리: 이미지 파일 필요
|
||||||
|
|
||||||
|
### 19번 / 가스유체역학 / 운동량 방정식 / 관내 마찰력
|
||||||
|
- md: /Users/hyungiahn/Desktop/가스기사/2024년 2회/01 가스유체역학/19.md
|
||||||
|
- png: MISSING (19.png)
|
||||||
|
- 설명: 수평 원관 그림 (A 단면, B 단면 두 곳 표시. 위에 F (벽면 마찰력), 아래 화살표로 압력 방향 표시).
|
||||||
|
- 상태: missing_png (dry-run 실패. apply 금지)
|
||||||
|
- 처리: 이미지 파일 필요
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
# 2024년 3회 — 이미지 필요 문항 리포트
|
||||||
|
|
||||||
|
## 사용자가 확인할 것
|
||||||
|
|
||||||
|
- **missing_png — 2건 ⚠** (이 항목이 있으면 apply 금지)
|
||||||
|
- 2번 / 가스유체역학 — 2.png 필요
|
||||||
|
- 8번 / 가스유체역학 — 8.png 필요
|
||||||
|
- placeholder_skipped — 0건
|
||||||
|
- **attach_planned — 0건** (apply 시 자동 첨부 예정)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 누락 (missing_png) — 2건 ⚠
|
||||||
|
|
||||||
|
### 2번 / 가스유체역학 / 정수역학 / 평면에 작용하는 정수력
|
||||||
|
- md: /Users/hyungiahn/Desktop/가스기사/2024년 3회/01 가스유체역학/2.md
|
||||||
|
- png: MISSING (2.png)
|
||||||
|
- 설명: 60° 기울어진 4m × 8m 수문, A지점 힌지(상단), B지점(하단), 수면 위 대기압.
|
||||||
|
- 상태: missing_png (dry-run 실패. apply 금지)
|
||||||
|
- 처리: 이미지 파일 필요
|
||||||
|
|
||||||
|
### 8번 / 가스유체역학 / 압축성 유동 / 노즐 / 임계압력비·Choking
|
||||||
|
- md: /Users/hyungiahn/Desktop/가스기사/2024년 3회/01 가스유체역학/8.md
|
||||||
|
- png: MISSING (8.png)
|
||||||
|
- 설명: 수축노즐 분출 시 $m$ vs $P_b/P_r$ 그래프. A, B는 좌측 평탄 구간(최대 유량), C는 임계점(꺾임), D, E는 우측 감소 구간(E는 $P_b/P_r=1.0$).
|
||||||
|
- 상태: missing_png (dry-run 실패. apply 금지)
|
||||||
|
- 처리: 이미지 파일 필요
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
# 2025년 1회 — 이미지 필요 문항 리포트
|
||||||
|
|
||||||
|
## 사용자가 확인할 것
|
||||||
|
|
||||||
|
- **missing_png — 3건 ⚠** (이 항목이 있으면 apply 금지)
|
||||||
|
- 2번 / 가스유체역학 — 2.png 필요
|
||||||
|
- 9번 / 가스유체역학 — 9.png 필요
|
||||||
|
- 30번 / 연소공학 — 30.png 필요
|
||||||
|
- placeholder_skipped — 0건
|
||||||
|
- **attach_planned — 0건** (apply 시 자동 첨부 예정)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 누락 (missing_png) — 3건 ⚠
|
||||||
|
|
||||||
|
### 2번 / 가스유체역학 / 운동량 보존 / 마찰력
|
||||||
|
- md: /Users/hyungiahn/Desktop/가스기사/2025년 1회/01 가스유체역학/2.md
|
||||||
|
- png: MISSING (2.png)
|
||||||
|
- 설명: 수평 원관 단면 A, B와 마찰력 F 화살표 그림.
|
||||||
|
- 상태: missing_png (dry-run 실패. apply 금지)
|
||||||
|
- 처리: 이미지 파일 필요
|
||||||
|
|
||||||
|
### 9번 / 가스유체역학 / 압축성 유동 / 노즐·디퓨저 / 아음속·초음속
|
||||||
|
- md: /Users/hyungiahn/Desktop/가스기사/2025년 1회/01 가스유체역학/9.md
|
||||||
|
- png: MISSING (9.png)
|
||||||
|
- 설명: 단면적이 좁아지는 수렴노즐 형태 덕트 그림 (유동방향 화살표 + 빗금 단면).
|
||||||
|
- 상태: missing_png (dry-run 실패. apply 금지)
|
||||||
|
- 처리: 이미지 파일 필요
|
||||||
|
|
||||||
|
### 30번 / 연소공학 / 불활성화 (Inerting) / 퍼지 방법
|
||||||
|
- md: /Users/hyungiahn/Desktop/가스기사/2025년 1회/02 연소공학/30.md
|
||||||
|
- png: MISSING (30.png)
|
||||||
|
- 설명: 용기에 불활성가스(Inert Gas) 입구·혼합가스(Mixed Gas) 출구가 표시된 스위프 퍼지 도식.
|
||||||
|
- 상태: missing_png (dry-run 실패. apply 금지)
|
||||||
|
- 처리: 이미지 파일 필요
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
# 2025년 2회 — 이미지 필요 문항 리포트
|
||||||
|
|
||||||
|
## 사용자가 확인할 것
|
||||||
|
|
||||||
|
- **missing_png — 1건 ⚠** (이 항목이 있으면 apply 금지)
|
||||||
|
- 62번 / 가스안전관리 — 62.png 필요
|
||||||
|
- placeholder_skipped — 0건
|
||||||
|
- **attach_planned — 0건** (apply 시 자동 첨부 예정)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 누락 (missing_png) — 1건 ⚠
|
||||||
|
|
||||||
|
### 62번 / 가스안전관리 / 폭발위험장소 0·1·2종 분류 (KGS) (`04_safety/` 참고)
|
||||||
|
- md: /Users/hyungiahn/Desktop/가스기사/2025년 2회/04 가스안전관리/62.md
|
||||||
|
- png: MISSING (62.png)
|
||||||
|
- 설명: 보기 ③, ④가 사진에 잘려 미확인. 본 문제는 보기 ①, ② 기준 추정.
|
||||||
|
- 상태: missing_png (dry-run 실패. apply 금지)
|
||||||
|
- 처리: 이미지 파일 필요
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
# 2025년 3회 — 이미지 필요 문항 리포트
|
||||||
|
|
||||||
|
## 사용자가 확인할 것
|
||||||
|
|
||||||
|
- **missing_png — 3건 ⚠** (이 항목이 있으면 apply 금지)
|
||||||
|
- 4번 / 가스유체역학 — 4.png 필요
|
||||||
|
- 18번 / 가스유체역학 — 18.png 필요
|
||||||
|
- 41번 / 가스설비 — 41.png 필요
|
||||||
|
- placeholder_skipped — 0건
|
||||||
|
- **attach_planned — 0건** (apply 시 자동 첨부 예정)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 누락 (missing_png) — 3건 ⚠
|
||||||
|
|
||||||
|
### 4번 / 가스유체역학 / 압력 측정 / 경사마노메타 (Inclined Manometer)
|
||||||
|
- md: /Users/hyungiahn/Desktop/가스기사/2025년 3회/01 가스유체역학/4.md
|
||||||
|
- png: MISSING (4.png)
|
||||||
|
- 설명: 경사마노메타 그림 (P₁, P₂, A₁, A₂, R, θ=30°).
|
||||||
|
- 상태: missing_png (dry-run 실패. apply 금지)
|
||||||
|
- 처리: 이미지 파일 필요
|
||||||
|
|
||||||
|
### 18번 / 가스유체역학 / 압축성 유동 / 노즐 / 임계압력비·Choking
|
||||||
|
- md: /Users/hyungiahn/Desktop/가스기사/2025년 3회/01 가스유체역학/18.md
|
||||||
|
- png: MISSING (18.png)
|
||||||
|
- 설명: 수축노즐 분출 시 m vs Pb/Pr 그래프. A, B는 좌측 평탄(최대 유량), C는 임계점, D, E는 우측 감소(E는 Pb/Pr=1).
|
||||||
|
- 상태: missing_png (dry-run 실패. apply 금지)
|
||||||
|
- 처리: 이미지 파일 필요
|
||||||
|
|
||||||
|
### 41번 / 가스설비 / 정수역학 / 부력 (Buoyancy) / 아르키메데스 원리
|
||||||
|
- md: /Users/hyungiahn/Desktop/가스기사/2025년 3회/03 가스설비/41.md
|
||||||
|
- png: MISSING (41.png)
|
||||||
|
- 설명: A(물), B(수은), C(식용유)에 동일 물체를 넣은 모양 그림.
|
||||||
|
- 상태: missing_png (dry-run 실패. apply 금지)
|
||||||
|
- 처리: 이미지 파일 필요
|
||||||
@@ -208,12 +208,18 @@ def _extract_meta(md: str) -> dict[str, str]:
|
|||||||
def _parse_choices(raw: str) -> tuple[str, str, str, str]:
|
def _parse_choices(raw: str) -> tuple[str, str, str, str]:
|
||||||
"""보기 fenced block → 4개 텍스트.
|
"""보기 fenced block → 4개 텍스트.
|
||||||
|
|
||||||
한 줄당 "{N}번:", "{N}.", "{N})" 형태. 멀티라인 보기는 다음 항목 직전까지 합침.
|
한 줄당 "{N}번:", "{N}.", "{N})", "①②③④" 모두 인정. 멀티라인 보기는 다음 항목 직전까지 합침.
|
||||||
"""
|
"""
|
||||||
lines = raw.splitlines()
|
lines = raw.splitlines()
|
||||||
buckets: dict[int, list[str]] = {1: [], 2: [], 3: [], 4: []}
|
buckets: dict[int, list[str]] = {1: [], 2: [], 3: [], 4: []}
|
||||||
current: Optional[int] = None
|
current: Optional[int] = None
|
||||||
for line in lines:
|
for line in lines:
|
||||||
|
# 동그라미 숫자 ①②③④ 우선 시도
|
||||||
|
m_circ = re.match(r"^\s*([①②③④])\s*(.*)$", line)
|
||||||
|
if m_circ:
|
||||||
|
current = CIRCLED[m_circ.group(1)]
|
||||||
|
buckets[current].append(m_circ.group(2).rstrip())
|
||||||
|
continue
|
||||||
# "1번:" / "1." / "1)" 모두 인정. 점/괄호 다음 공백 허용.
|
# "1번:" / "1." / "1)" 모두 인정. 점/괄호 다음 공백 허용.
|
||||||
m = re.match(r"^\s*(\d)\s*[번.):]\s*(.*)$", line)
|
m = re.match(r"^\s*(\d)\s*[번.):]\s*(.*)$", line)
|
||||||
if m:
|
if m:
|
||||||
|
|||||||
Reference in New Issue
Block a user