본문 바로가기
백준

백준 Java - 2442번 별찍기-5 삼각형

by 사장님나빠여 2021. 12. 29.

https://www.acmicpc.net/problem/2442

 

멀티캠퍼스 Java 2일차 수업에서 처음 배우는 사람도 있는데 심화문제 주신다더니

갑자기 마름모 별찍기 문제를 던지셨다....하루종일 손도 못대고 나서는 화가나서 삼각형

역삼각형 그리기를 먼저 이해하고자 2442번 별찍기-5 를 가져왔다.

문제

첫째 줄에는 별 1개, 둘째 줄에는 별 3개, ..., N번째 줄에는 별 2×N-1개를 찍는 문제

별은 가운데를 기준으로 대칭이어야 한다.

입력

첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.

출력

첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.

예제 입력

5

예제 출력

    *
   ***
  *****
 *******
*********

풀이

입력값인 5를 상수 star로 두고 시작을 한다.

 

큰 for문은 5번 반복을 위해 1로 두고 시작한다. 0이 아닌 1로 둔 이유는 안에

다른 for문에 영향을 줘야하는데 0이면 구하려는 값도 0이되서 못 구 하기 때문이다.

 

작은 첫번째 for문은 예제 출력에 나온 모양대로 별을 찍기 전 공백을 찍어주기 위한 문장이다.

큰 for문의 i 값이 1부터 1씩 커져갈 때 4부터 1씩 작아져서 0이 되어야 하기 때문에

j는 i와 같은 값을 주고 범위5로 고정시키고 1씩 작아지게 했다.

 

작은 두번째 for문은 별을 찍기 위한 문장이다.

큰 for문의 값이 1부터 1씩 커져갈 때 1부터 2씩 커지는 홀수가 되기 때문에

k값은 0으로 두고 범위를 1, 3, 5, 7, 9 미만이 되게 해서 별 개수를 맞춘다.

 

큰 반복문이 끝날 때는 줄바꿈을 해준다.

'백준' 카테고리의 다른 글

백준 Java - 2444번 별찍기-7  (0) 2021.12.30

댓글