프로그램 소개
학교 교육과정 연간일정 데이터를 기초로,
자동으로 매주 자리를 한 칸씩 이동하여 표시해주는 프로그램입니다.
n주차 로직 수정
README
2026학년도 음악실 자리배치 프로그램
본 프로그램은 2026학년도 음악실의 주차별 좌석 배치를 시뮬레이션하는 웹 애플리케이션입니다. 각 주차별로 좌석에 앉는 학생 번호가 '한 칸씩 옆으로' 이동하는 패턴을 시각화하여 보여줍니다.
이 웹페이지는 단순히 좌석 배치를 보여주는 것을 넘어, 특정 좌석에 '1번 학생'이 앉는 경우 그 좌석이 몇 주차에 1번 학생이었는지 역산하여 현재 입력한 주차로 업데이트하는 기능도 포함하고 있습니다. (총 26석)
- 좌석 이동 원리: 좌석은 행 우선 순서(1~26)로 이어지며, 매주 학생들이 한 칸씩 오른쪽으로 순환 이동합니다.
- 주차 계산: 교육과정 주차는 1학기(3월 1일 시작)와 2학기(8월 25일 시작)의 주차를 별도로 관리하며, 달력상의 날짜가 주차와 일치하지 않는 기간(방학 등)은 주차 업데이트 대상에서 제외됩니다.
화면·작동 안내
주요 UI 요소
- 오늘 주차로 버튼: 현재 브라우저의 날짜를 기준으로 교육과정 주차(예: 5월 2일 · 1학기 15주차)를 파악하여, 해당 주차로 자동으로 좌석 배치도가 업데이트됩니다. (브라우저가 열려있거나 포커스되어 있을 때 동작함)
- 주차 입력 필드: 1부터 21 사이의 숫자를 직접 입력하거나 변경할 수 있습니다. 여기에 입력한 숫자는 현재 시뮬레이션할 '주차'를 의미하며, 변경 시 좌석 배치가 즉시 업데이트됩니다. 최대값/최소값은 1~21주차입니다.
- 음악실 자리배치 (room): 실제 음악실의 좌석 배치를 4줄 x 7열 그리드로 보여줍니다. 각 자리는 버튼 형태로 구현되어 있으며, 현재 주차에 해당하는 학생 번호(1~26)가 표시됩니다. 자리를 클릭하면 해당 자리가 '1번 학생'인 주차로 주차 입력 필드와 전체 배치도가 자동으로 재계산되어 이동합니다.
- 힌트 텍스트: 주차 이동의 원리, 좌석의 순서(1~26), 그리고 예시(
5주차에 1번이 특정 위치에 온다) 등 핵심 사용 가이드를 제공합니다.
사용 흐름
- 최신 주차 확인: 웹페이지 로딩 시 또는 '오늘 주차로' 버튼 클릭 시, 시스템이 오늘 날짜를 분석하여 해당하는 학기/주차를 자동으로 읽어와 좌석 배치도를 보여줍니다.
- 수동 주차 변경: 만약 오늘이 아닌 다른 주차를 확인하고 싶다면, '주차 입력 필드'에 원하는 주차(예: 10)를 입력하고 엔터(또는 포커스 이동)를 하면 좌석 배치가 변경됩니다.
- 역산 및 이동: 만약 특정 좌석(예: 오른쪽 아래 좌석)을 보고 '이 좌석이 1번 학생이 되는 주차가 몇 주차인지' 알고 싶다면, 해당 좌석을 클릭합니다. 그러면 '주차 입력 필드'에 그 주차 번호가 채워지고, 전체 좌석 배치가 그 시점으로 돌아가 표시됩니다.
프로젝트 진행 상황
- [x] README.md 구조 및 내용 작성 완료
- [x] 핵심 로직(좌석 배치, 주차 계산, 순환 이동) 로직 구현 완료
- [x] UI/UX에 맞는 스타일링 (CSS) 및 DOM 조작 로직 연결 완료
- [ ] 추가 기능 개선 및 테스트