일단 yellow
가 커질때 마다 변하는 brown
의 규칙을 찾은 다음 반복문을 돌려서 일치하는 경우를 찾아내면 될 듯 하다. 그림을 그려보니 네모칸이 늘어나는 규칙은 4 + 가로x2 + 세로x2
였다. 그럼 위의 식과 일치하는 brown
의 값을 찾아주고 그 때의 가로 세로 길이만 구해주면 되겠다.
yellow
만큼(넉넉한 크기) 반복문을 돌리면서 찾아낸 규칙에 따라 가로를 i
로 두고 1에서 부터 하나씩 증가시킨다.사각형개수/가로
이므로 yellow/2
로 설정한다.4 + i*2 + yello2*2
가 brown
과 같아질때의 i
값을 찾는 것 이다.answer
에 넣어주고 반복문을 빠져나온다.(i)
, 세로(yellow/i)
는 노란 사각형에 해당하므로 전체 사각형의 가로는 i+2
, 세로는 yellow/i+2
로 넣어준다.레고레고
가로를 늘려가면서 반복문으로 계산하는 것 까지는 무난하게 생각했으나 세로를 어떻게 둬야하는지 의문이 었는데 질문하기의 글들을 보고 참고하여 해결 할 수 있었다.
그리고 처음에 빈 배열로 선언이 되면 저 answer = answer.plus(Int)
형식으로 더해주는게 마음에 안든다. 0,1번 인덱스에 선언해주는 개념이 아니라 단순히 값을 두번 추가해주는 것 이어서
똑같은 plus
메소드를 두번 사용해야한다. 다른 방법이 없을까..?
일단 테스트 통과~~