성읍배분
2026년 5월 29일 09:30분
민수기 35장에서 레위인에게 48개 성읍이 배분되고 6개는 도피성으로 지정됩니다. 전체 풀에서 목적별로 성읍을 나눕니다. 나는 성읍 목록을 일반/도피로 분류하고 요청 유형에 따라 배분하는 분류기를 만들었습니다.
package com.jesusbornd.numbers;
import java.util.*;
import java.util.stream.*;
public class Numbers_35_Chapter_Lv1 {
enum Type { LEVITE, REFUGE }
record City(String name, Type type) {}
public static void main(String[] args) {
var cities = List.of(
new City("헤브론", Type.REFUGE), new City("세겜", Type.REFUGE),
new City("게데스", Type.REFUGE), new City("베셀", Type.REFUGE),
new City("라못", Type.REFUGE), new City("골란", Type.REFUGE),
new City("실로", Type.LEVITE), new City("기브온", Type.LEVITE),
new City("아나돗", Type.LEVITE), new City("알몬", Type.LEVITE)
);
var grouped = cities.stream().collect(Collectors.groupingBy(City::type));
grouped.forEach((t, cs) ->
System.out.printf("[%s] %s%n", t, cs.stream().map(City::name).toList()));
}
}
from collections import defaultdict
cities = [
("헤브론", "REFUGE"), ("세겜", "REFUGE"), ("게데스", "REFUGE"),
("베셀", "REFUGE"), ("라못", "REFUGE"), ("골란", "REFUGE"),
("실로", "LEVITE"), ("기브온","LEVITE"), ("아나돗", "LEVITE"), ("알몬", "LEVITE"),
]
grouped = defaultdict(list)
for name, ctype in cities:
grouped[ctype].append(name)
if __name__ == "__main__":
for ctype, names in grouped.items():
print(f"[{ctype}] {names}")
Search
Categories
← 목록으로
Comments
목적에 따라 자원을 미리 분류해두는 설계가 실용적이네요.