
Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다.

Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 갈색으로 색칠된 격자의 개수는 기억했지만, 전체 카펫의 크기는 기억하지 못했습니다.
Leo가 본 카펫에서 갈색 격자의 수 brown, 노란색 격자의 수 yellow가 매개변수로 주어질 때 카펫의 가로, 세로 크기를 순서대로 배열에 담아 return 하도록 solution 함수를 작성해주세요.
갈색 격자의 수 brown은 8 이상 5,000 이하인 자연수입니다.
노란색 격자의 수 yellow는 1 이상 2,000,000 이하인 자연수입니다.
카펫의 가로 길이는 세로 길이와 같거나, 세로 길이보다 깁니다.
function solution(brown, yellow) {
var answer = [];
var sum = brown + yellow;
for( y = 3; y <= brown; y++ ){
if(sum % y === 0){
var x = sum / y;
if( (y - 2) * (x - 2) === yellow){
return [x, y];
}
}
}
return answer;
}
갈색으로 둘러쌓이고 가운데가 노란색이므로 카펫의 최소 높이는 3이다. 이때 높이값이 증가하는 반복문에서 brown과 yellow값을 합한 값을 높이값으로 나눳을때 나머지가 0이면 가로값은 더한값 / 높이값이 된다.
yellow는 중앙에 칠해져있기 때문에 가로와 세로값을 -2해주고 곱했을때 값이 yellow와 같다면 바로 가로길이와 높이를 return해준다.
Unity는 게임 개발자들이 게임을 디자인, 개발, 배포하기 위한 강력한 도구와 기능을 제공하여 게임 개발 과정을 간소화하고 가속화하는 데 도움을 주는 인기 있는 게임 개발 엔진이다.
유니티 엔진이 나오기 전까지는 게임 회사들마다 개발하고자 하는 게임에 맞는 게임 엔진을 실제로 먼저 만들고 나서 본격적인 게임 개발에 들어감.
=> 게임 엔진 개발 시간도 오래 걸리고 프로젝트를 진행하다 보면 미리 만들어둔 게임 엔진이 현재 프로젝트와 결이 맞지 않는 경우도 많이 발생함.
유니티는 게임 엔진으로만 사용되는 것이 아니라 산업환경, 교육환경, 임베디드환경등 다양한 환경에서 사용되고있음.
- 에셋(Asset)
- 게임에 필요한 모든 리소스(이미지, 사운드, 모델, 코드 등)를 의미.
- 프로젝트의 에셋 폴더에 저장되며, 유니티에서 사용 가능한 형식으로 가져와서 게임에 활용.
- 씬(Scene)
- 게임의 각 장면 또는 화면을 의미.
- 유니티에서 게임은 하나 이상의 씬으로 구성되며, 각 씬은 게임의 특정 부분을 담당.
- 예를 들어, 메뉴 씬, 게임 플레이 씬, 엔딩 씬 등으로 구성.
- 게임 오브젝트(GameObject)
- 씬에 배치되는 모든 요소를 의미.
- 게임 오브젝트는 에셋을 이용하여 씬에 생성되며, 게임의 동작과 상호작용을 담당.
- 예를 들어, 캐릭터, NPC, 아이템, 장애물 등이 게임 오브젝트.
- 게임 오브젝트는 계층 구조로 구성되어 부모-자식 관계를 가지며, 이를 통해 그룹화하고 조작.