반란종료
2026년 11월 5일 09:30분
사무엘하 18장에서 압살롬이 나무에 머리가 걸려 요압에게 죽임을 당합니다. 반란 프로세스가 강제 종료됩니다. 나는 반란 상태 머신의 종료 조건을 구현했습니다.
package com.jesusbornd.samuel2;
public class Samuel2_18_Chapter_Lv2 {
enum MutinyState { ACTIVE, TRAPPED, TERMINATED }
static MutinyState transition(MutinyState current, String event) {
return switch (current) {
case ACTIVE -> event.equals("trapped") ? MutinyState.TRAPPED : current;
case TRAPPED -> event.equals("killed") ? MutinyState.TERMINATED : current;
default -> current;
};
}
public static void main(String[] args) {
var state = MutinyState.ACTIVE;
for (String e : new String[]{"trapped", "killed"}) {
state = transition(state, e);
System.out.println("이벤트: " + e + " → 상태: " + state);
}
}
}
def transition(state: str, event: str) -> str:
if state == "ACTIVE" and event == "trapped": return "TRAPPED"
if state == "TRAPPED" and event == "killed": return "TERMINATED"
return state
state = "ACTIVE"
for event in ["trapped", "killed"]:
state = transition(state, event)
print(f"이벤트: {event} → 상태: {state}")
Search
Categories
← 목록으로
Comments
반란은 반드시 종료됩니다.