시뮬레이션 문제 풀이법: 상태 정의와 구현 순서
시뮬레이션 문제 풀이법의 핵심은 구현을 빨리 시작하는 것이 아니라 상태 정의와 한 턴 처리 순서를 먼저 설계하는 것입니다. 이번 글에서는 손으로 따라가는 예시와 Java·Python·C 코드를 함께 정리합니다.
시뮬레이션 문제 풀이법의 핵심은 구현을 빨리 시작하는 것이 아니라 상태 정의와 한 턴 처리 순서를 먼저 설계하는 것입니다. 이번 글에서는 손으로 따라가는 예시와 Java·Python·C 코드를 함께 정리합니다.
애드혹 알고리즘 문제에서 왜 맞왜틀이 반복되는지, 그리고 반례를 어떤 순서로 찾아야 하는지 정리합니다. 가장 작은 입력, 경계값, 같은 값 반복, 순서 뒤집기 같은 패턴을 실제 예시와 함께 설명합니다.
애드혹 알고리즘 문제를 처음 읽었을 때 그리디와 완전탐색 중 어느 쪽을 먼저 의심해야 하는지 정리합니다. 입력 크기, 미래 영향, 반례 가능성을 기준으로 판단하는 흐름을 쉽게 설명합니다.
안드로이드 ViewModel에 모든 상태를 넣어야 하는 것은 아닙니다. UI 상태와 비즈니스 상태를 나누고, input state, loading state, domain state, one-time event를 어디에 두면 좋은지 실무 기준으로 정리합니다.
결합도가 중요한 이유는 코드가 연결되어 있기 때문이 아니라, 하나를 바꿀 때 같이 수정해야 하는 부분이 너무 많아지기 때문입니다. 이 글에서는 잘못된 설계 예시와 개선 예시를 통해 변경 전파와 유지보수 비용을 쉽게 설명합니다.
안드로이드 생명주기를 콜백 암기가 아니라 설계 기준으로 설명하는 시리즈 3편입니다.