✍️ 문제 2-2
제9회 소프트웨어(SW) 사고력 올림피아드(초5~6)
※ 다음 문제에 답하시오.
※ 답은 종이에 작성한 뒤 사진으로 제출하세요.
※ 창의적인 생각을 자유롭게 기록해도 됩니다.
문제 2
아래 좌석 배치도를 참고하여 교실에서 학생들의 좌석을 배치하는 소프트웨어를 개발하려고 한다. 좌석 배치도에는 교실 앞쪽 교탁, 창가, 철판 위치가 표시되어 있다.
문제 2-2
좌석 배치 소프트웨어의 동작 알고리즘을 설명하시오.
[문제 분석]
교실 자리 배정에 필요한 학생 데이터를 정하고, 조건을 반영해 배치를 개선하는 알고리즘을 만드는 문제입니다.
[예시답안 요약 힌트]
이름, 키, 시력, 성별, 관계, 이전 자리 데이터를 모으세요. 초기화, 자료 수집, 첫 배치, 최적화, 출력 순서로 알고리즘을 쓰면 좋습니다.
좌석 배치 알고리즘:
① 특이사항 학생 먼저 배치: 휠체어 → 통로 쪽, 보청기 → 앞쪽 중앙
② 시력 나쁜 학생 → 칠판 가까운 앞쪽에 배치
③ 키 큰 학생 → 뒤쪽 줄에 배치 (앞 학생 시야 방해 방지)
④ 교우 관계 나쁜 학생 쌍 → 서로 멀리 배치 (최소 2칸 이상 거리)
⑤ 이전과 다른 자리에 배치 (최근 기록과 겹치지 않도록)
⑥ 나머지 학생들은 조건을 지키면서 랜덤 배치
우선순위 조건을 먼저 처리한 뒤 나머지를 채우는 방식으로 진행한다.
로그인 후 답안을 작성할 수 있습니다.