반응형
앞선 별 찍기 5와 6을 합한 문제이다. 단순히 합쳐버리게 되면
*
***
*****
*****
***
*
처럼 가운데에 중복되는 줄이 생성될 수 있으므로 조건을 조금 수정해준다.
4와 6의 정답을 가져와서 이어붙였다.
다만 위와같은 문제가 생기므로 두번째 for문(별 역순으로 찍는 구문)을 조금 수정 했다.
먼저 줄을 나타내는 i의 조건식에서 i <= n 을 한줄 줄이기 위해 i < n 으로 바꾸어준다.
그리고 조건식에서 j < i 에서 j <= i 로 변경했는데 이유는 바로 빈칸을 한칸 찍을 수 있게 하기 위해서이고
j >= i * 2 - 1에서 j >= i * 2 + 1로 변경했는데 이로인해 조건의 범위가 2만큼 줄어들게 된다.
이는 별 갯수를 2n - 1개부터 출력하는 것이 아닌 2n - 3개부터 출력하기 위해서이다.
이어서 별 찍기 - 9 문제이다.
위의 문제의 상하를 뒤바꾼 문제이기 때문에 코드의 위치만 바꾸었다.
단순히 위치만 바꾸고 그대로 실행하면 다음처럼 오답이 나오므로 코드를 조금 수정해준다.
먼저 시작할 때 빈칸을 다시 없애기 위해 j <= i 를 다시 j < i 로 수정해주고
앞에서 별이 2개씩 덜 찍히게 한 것을 다시 원래대로 돌리게 되면 ( j >= i * 2 + 1 을 다시 j >= i * 2 - 1 로 변환)
처럼 잘 나오게 된다. 2444번을 풀면서 바꾸었던 i의 범위는 여기서도 한줄 덜 나와야 하므로 바꾸었던 그대로 두면 된다.
반응형
'C > 백준알고리즘' 카테고리의 다른 글
[C] 백준알고리즘 #10952 A + B - 5 (0) | 2021.01.14 |
---|---|
[C] 백준알고리즘 #2445 별 찍기 - 8 (리본) (0) | 2021.01.13 |
[C] 백준알고리즘 #2442 #2443 별 찍기 - 5 , 6 (트리, 역트리) (0) | 2021.01.12 |
[C] 백준알고리즘 #2439 #2441 별 찍기 - 2, 4 (0) | 2021.01.11 |
[C] 백준알고리즘 #2438 #2440 별 찍기 - 1 , 3 (0) | 2021.01.11 |