드디어 혼자 힘으로 아무도 안 도와주고 어제 했지만 이제는 남 꺼 안 보고 생각대로 풀어냈다...!

다른 분들은 코드 리뷰 이렇게 안 하겠지만 처음 백준 풀면서 내 것이 된 게 처음이라 양해를 일단 부탁드립니다..
문제
예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.
입력
첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.
출력

풀이
예제 입력값 5를 변하지 않게 하기위해 DIAMOND라는 이름의 상수로 초기화하였다
첫번째 큰 for문의 i는 안의 for문들에게 영향을 줘야되기 때문에 0이 아니라 1로 초기화했고
5번 반복해야되기 때문에 조건식을 DIAMOND+1로 두었다.
i가 1~5일 때 공백은 4~0개가 찍혀야되기 때문에 1-1 for문에서 j값은 1로 초기화하고
조건식을 반복문이 돌수록 점점 작아지게 해야하기 때문에 고정값 상수 DIAMOND-i이하로 하여
공백이 1씩 줄어 4~0이 되게 하였다.
1-2 for문에서 i값이 1 증가 할 때마다 별의 개수가 1~9까지 2씩 증가해야 되기 때문에 홀수를 찍기 위해서
조건식을 i*2-1미만으로 하고 k를 0으로 초기화했다.
두번째 큰 for문은 역삼각형을 만들기 위해 4번 반복이므로 DIAMOND이하가 아닌 미만으로 조건식을 잡았다.
2-1 for문에서는 l값이 1~4가 될 때 공백이 똑같이 1~4개 찍혀야 하므로
첫 반복때는 1이 나오도록 m값을 1, 조건식을 l이하루 둬서 값을 같게 하였다.
2-2 for문에서는 별의 개수가 7→1로 2씩 줄어드는 홀수가 나오게 하기 위해서
조건식은 DIAMOND*2-1인 9 미만으로 두고 반복될 때마다 n값을 증가시키기 위해
l*2로 초기화 하여 별의 개수를 맞췄다.
'백준' 카테고리의 다른 글
| 백준 Java - 2442번 별찍기-5 삼각형 (0) | 2021.12.29 |
|---|
댓글