격리처리

2026년 4월 15일 09:30분

민수기 5장은 부정한 사람을 진영 밖으로 내보냅니다. 나는 사람마다 부정 상태 플래그를 달고, 진영 입장 전에 검사하는 필터를 만들었습니다. 부정한 사람은 격리 구역으로 보냅니다.

package com.jesusbornd.numbers;

import java.util.List;
import java.util.stream.Collectors;

public class Numbers_05_Chapter_Lv1 {

    record Person(String name, boolean isUnclean) {}

    static void sortCamp(List<Person> people) {
        List<Person> inside  = people.stream().filter(p -> !p.isUnclean()).collect(Collectors.toList());
        List<Person> outside = people.stream().filter(Person::isUnclean).collect(Collectors.toList());

        System.out.println("[ 진영 내 ]");
        inside.forEach(p -> System.out.println("  ✅ " + p.name()));

        System.out.println("[ 격리 ]");
        outside.forEach(p -> System.out.println("  ⛔ " + p.name() + " (진영 밖 이동)"));
    }

    public static void main(String[] args) {
        List<Person> people = List.of(
            new Person("아론",   false),
            new Person("미리암", true),
            new Person("갈렙",   false),
            new Person("엘르아살", true),
            new Person("여호수아", false)
        );
        sortCamp(people);
    }
}

from dataclasses import dataclass

@dataclass
class Person:
    name: str
    is_unclean: bool

def sort_camp(people: list[Person]):
    inside  = [p for p in people if not p.is_unclean]
    outside = [p for p in people if p.is_unclean]

    print("[ 진영 내 ]")
    for p in inside:
        print(f"  ✅ {p.name}")

    print("[ 격리 ]")
    for p in outside:
        print(f"  ⛔ {p.name} (진영 밖 이동)")


if __name__ == "__main__":
    people = [
        Person("아론",     False),
        Person("미리암",   True),
        Person("갈렙",     False),
        Person("엘르아살", True),
        Person("여호수아", False),
    ]
    sort_camp(people)

Comments

Avatar
 2026년 4월 15일 15:24분

문제 있는 것을 바로 격리하는 게 공동체를 지키는 방법이더라고요.



Search

← 목록으로