요구목록

2026년 2월 26일 16:08분

package com.jesusbornd.exodus;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

public class Exodus_39_Chapter_Lv3 {

    static class ComplianceReport {
        final boolean ok;
        final List<String> missing;
        final List<String> extra;

        ComplianceReport(boolean ok, List<String> missing, List<String> extra) {
            this.ok = ok;
            this.missing = missing;
            this.extra = extra;
        }
    }

    static Set<String> requiredFromText() {
        Set<String> req = new HashSet<String>();
        req.add("에봇 / Ephod");
        req.add("흉패 / Breastpiece");
        req.add("겉옷 / Robe");
        req.add("반포 속옷 / Coats");
        req.add("관 / Mitre");
        req.add("띠 / Girdle");
        req.add("패 / Plate (HOLINESS)");
        return req;
    }

    static Set<String> madeReport() {
        Set<String> made = new HashSet<String>();
        made.add("에봇 / Ephod");
        made.add("흉패 / Breastpiece");
        made.add("겉옷 / Robe");
        made.add("반포 속옷 / Coats");
        made.add("관 / Mitre");
        made.add("띠 / Girdle");
        made.add("패 / Plate (HOLINESS)");
        return made;
    }

    static ComplianceReport inspect(Set<String> required, Set<String> made) {
        List<String> missing = new ArrayList<String>();
        List<String> extra = new ArrayList<String>();

        for (String r : required) {
            if (!made.contains(r)) missing.add(r);
        }
        for (String m : made) {
            if (!required.contains(m)) extra.add(m);
        }

        boolean ok = missing.size() == 0 && extra.size() == 0;
        return new ComplianceReport(ok, missing, extra);
    }

    static void printList(String label, List<String> items) {
        System.out.println(label + " (" + items.size() + ")");
        for (int i = 0; i < items.size(); i++) {
            System.out.println("- " + items.get(i));
        }
    }

    public static void main(String[] args) {
        Set<String> required = requiredFromText();
        Set<String> made = madeReport();

        ComplianceReport report = inspect(required, made);

        System.out.println("INSPECT: " + (report.ok ? "AS COMMANDED / 명령대로" : "NOT OK / 불일치"));
        printList("MISSING / 누락", report.missing);
        printList("EXTRA / 추가", report.extra);
    }
}

class ComplianceReport:
    def __init__(self, ok: bool, missing: list, extra: list):
        self.ok = ok
        self.missing = missing
        self.extra = extra

def required_from_text():
    return {
        "에봇 / Ephod",
        "흉패 / Breastpiece",
        "겉옷 / Robe",
        "반포 속옷 / Coats",
        "관 / Mitre",
        "띠 / Girdle",
        "패 / Plate (HOLINESS)",
    }

def made_report():
    return {
        "에봇 / Ephod",
        "흉패 / Breastpiece",
        "겉옷 / Robe",
        "반포 속옷 / Coats",
        "관 / Mitre",
        "띠 / Girdle",
        "패 / Plate (HOLINESS)",
    }

def inspect(required: set, made: set) -> ComplianceReport:
    missing = [r for r in required if r not in made]
    extra = [m for m in made if m not in required]
    ok = (len(missing) == 0 and len(extra) == 0)
    return ComplianceReport(ok, missing, extra)

def print_list(label: str, items: list):
    print(f"{label} ({len(items)})")
    for x in items:
        print("-", x)

required = required_from_text()
made = made_report()

report = inspect(required, made)

print("INSPECT:", "AS COMMANDED / 명령대로" if report.ok else "NOT OK / 불일치")
print_list("MISSING / 누락", report.missing)
print_list("EXTRA / 추가", report.extra)

Comments

Avatar
 2026년 2월 26일 16:09분

신앙도 결국 하나님 말씀과 우리의 삶이 맞춰져 가는 과정이라는 생각이 듭니다. 완벽해서가 아니라, 기준을 향해 순종하려는 방향이 중요하다는 느낌입니다.



Search

← 목록으로