본문 바로가기

알고리즘/Jungol

[JAVA] 정올기초다지기 반복제어문3-형성평가05

 


위 문제에는 법칙이 있습니다.

별찍기 문제는 법칙을 생각하여 문제풀이를 하면 간단하게 해결할수있습니다.

공백은 2의배수로 줄어들고 소멸됩니다.

ex) 3일때에는 4 2 0 이 됩니다.

그렇기때문에 공백을 입력해주는 for문 16번줄에는 2씩 줄어드는 결과값을 출력해줘야 합니다.

 

n+(n-2)-(i*2) // 입력받은 n값에 (n-2)를 더해줌으로 3일때는 4, 4일때는 6, 5일때는 8 이런식으로 2,4,6,8로 2의 배수를 얻을수있으며,

이렇게 얻은값에 (i*2)를 빼줍니다.

i는 초기값은 0이며 15번의 for문이 한바퀴를 돌때마다 1씩 증가하므로 첫번째줄은 0 두번째는 2, 세번째는 4, 이런식으로 2의배수값으로 16번 for문의 반복숫자를 빼줄수있습니다.

*을 출력하는 19번 for문은 i*2의 값이 0 2 4 6 8 순으로 가기때문에 별을 1 3 5 를 출력할수있습니다.