시뮬레이션 - 사각형 칠하기

CodeKong의 기술 블로그·2023년 7월 4일
1

코딩테스트 스킬

목록 보기
4/5

(2, 5)와 (4, 8)을 양쪽 모서리로 하는 직사각형의 넓이는 어떻게 구할 수 있을까요?

2차원 배열을 써서 구해볼 수는 없을까요?

이 과정으로 넘어가기 전에, 우리는 먼저 2차 평면 상의 좌표를 2차원 격자로 옮겨야 합니다. 그래야 2차원 배열 상에 표기를 할 수 있겠죠.
직사각형의 두 모서리가 (2, 5), (4, 8)이라 했으니, 이를 2차원 격자 상의 (2행, 5열), (4행, 8열)이라 생각해서 옮겨보겠습니다. 이렇게 수학에서의 (x, y) 위치를 2차원 배열에서의 (x 행, y 열)로 옮기게 되면 사각형이 시계방향으로 90' 회전하게 되지만, 이렇게 변환하는 것이 가장 덜 헷갈리는 방법입니다.

여기서 유의해야 할 점은, 좌표가 격자로 바뀌게 되면서 (2행, 5열)부터 (4행, 8열) 까지가 아닌, (3행, 7열) 까지 색칠을 진행해야 한다는 것입니다. 즉, 기존 좌표계에서 (x1, y1), (x2, y2)로 이루어진 직사각형은 2차원 격자 상에서는 (x1 행, y1 열) 부터 (x2 - 1 행, y2 - 1 열) 까지로 이루어지게 됩니다.

0개의 댓글