담당구역

2026년 5월 6일 09:30분

민수기 18장에서 제사장과 레위인의 직무 구역이 명확히 구분됩니다. 각 구역을 벗어나면 책임 위반입니다. 나는 역할별 허용 구역을 등록하고 구역 위반을 감지하는 배정기를 만들었습니다.

package com.jesusbornd.numbers;
import java.util.Set;

public class Numbers_18_Chapter_Lv2 {
    enum Role { LEVITE, PRIEST, HIGH_PRIEST }

    static Set<String> zones(Role r) {
        return switch (r) {
            case HIGH_PRIEST -> Set.of("지성소", "성소", "뜰");
            case PRIEST      -> Set.of("성소", "뜰");
            case LEVITE      -> Set.of("뜰");
        };
    }

    static void check(String name, Role role, String zone) {
        boolean ok = zones(role).contains(zone);
        System.out.printf("%s(%s) → '%s' %s%n", name, role, zone, ok ? "✅ 허용" : "❌ 월권");
    }

    public static void main(String[] args) {
        check("아론",     Role.HIGH_PRIEST, "지성소");
        check("엘르아살", Role.PRIEST,      "성소");
        check("게르손",   Role.LEVITE,      "성소");
        check("므라리",   Role.LEVITE,      "뜰");
    }
}

ZONES = {
    "HIGH_PRIEST": {"지성소", "성소", "뜰"},
    "PRIEST":      {"성소", "뜰"},
    "LEVITE":      {"뜰"},
}

def check(name, role, zone):
    ok = zone in ZONES[role]
    print(f"{name}({role}) → '{zone}' {'✅ 허용' if ok else '❌ 월권'}")

if __name__ == "__main__":
    check("아론",     "HIGH_PRIEST", "지성소")
    check("엘르아살", "PRIEST",      "성소")
    check("게르손",   "LEVITE",      "성소")
    check("므라리",   "LEVITE",      "뜰")

Comments

Avatar
 2026년 5월 6일 14:29분

각자의 구역이 있으면 혼선 없이 일이 돌아가는군요.



Search

← 목록으로