더북(TheBook)

문제 풀이 흐름

문제에서는 여러 대기실이 입력으로 주어지지만 하나의 대기실에 대한 문제 풀이 흐름을 정의하면 이를 각 대기실에 적용할 수 있습니다.

 

1. 대기실의 모든 응시자 위치에 대해 반복

A. 상하좌우 중 빈 테이블이 있는 방향에 대해 1-B로 진행

B. 빈 테이블과 인접한 위치 중 응시자가 있다면 거리두기를 지키지 않은 것

2. 모든 응시자의 위치를 검사했으나 거리두기를 지키지 않은 경우를 발견하지 못했으면 거리두기를 지킨 것

 

코드 작성

이를 어떻게 구현할 수 있는지 살펴봅시다. 앞서 세운 문제 풀이 흐름은 하나의 대기실에 적용할 수 있습니다. 이를 적용하기 위해서는 입력되는 데이터를 우리의 문제 풀이 흐름에 맞게 가공해야 합니다.

우선 입력이 String[][] 형식으로 들어오고, 대기실 하나는 String[] 형식이 됩니다. 우리는 원소 하나하나에 관심이 있고 각 대기실이 거리두기를 지키는지 검사할 것이므로 대기실을 char[][] 형식으로 만들어 주고, 거리두기 결과를 저장할 배열을 선언합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.