https://www.acmicpc.net/problem/2445
2445번: 별 찍기 - 8
첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다.
www.acmicpc.net
- 문제
- 사진과 같이 리본 모양으로 출력하면 됩니다.
- 풀이
- 예제를 보시면 n을 입력했을 때 전체 층의 개수는 2n - 1개입니다.
- 그리고 각 층당 공백과 별을 포함하여 출력해야 하는 개수는 2n개입니다.
- 저 같은 경우는 두 개로 나눠 1층부터 n층까지 n + 1 층부터 2n - 1로 두 파트로 나누어서 출력했습니다.
- Line 9에 있는 for문이 1~ n층 출력을 위한 코드입니다.
- Line 11은 각 행당 별이나 공백을 출력하기 위한 for문입니다.
- Line 13에서 별이 출력되려면 각 층마다 왼쪽부터 차례대로 1, 2, 3, ... , n개 오른쪽부터도 똑같이 1, 2, 3, ... , n개가 출력되어야 합니다
- 왼쪽 부분을 출력하는 패턴은 1, 2, 3, 4, .. , n 이므로 j <= i 라는 조건을 얻을 수 있습니다
- 오른쪽 부분을 출력하는 패턴은 마지막에서 1, 2, 3, 4 ... , n 이므로 맨 마지막인 2n으로부터 1, 2, 3, .. , n 번을 뺀 j > 2n - i로 나타낼 수 있습니다.
- 저 두 조건은 or로 묶어 저 두 조건 중 하나가 참일 때 별을 출력, 그 외는 공백을 출력하게 만듭니다.
- Line 25에 있는 for문이 n + 1 ~ 2n - 1층 출력을 위한 코드입니다.
- 그 밑 내용은 윗 내용이랑 같아 생략하겠습니다
- 여담
- 제가 언어능력이 부족한 것 같습니다. 설명을 못하겠네요.. 최대한 풀어써봤는데 설명한다는 게 생각보다 힘드네요 책을 좀 많이 읽어야 할 것 같습니다.
본 게시물은 제가 공부한 내용을 올린 글이라 내용이 틀리거나 오류가 있을 수도 있습니다. 만약 그럴 시 jaewonahn1234@gmail.com으로 피드백해주시면 감사하겠습니다.
'SW > 백준' 카테고리의 다른 글
[백준] 2522번: 별찍기 - 12 (C) (0) | 2021.12.26 |
---|---|
[백준] 2446번: 별찍기 - 9 (C) (0) | 2021.12.26 |
[백준] 2442번: 별 찍기 - 5 (C) (0) | 2021.12.23 |
[백준] 2441번: 별 찍기 - 4 (C) (0) | 2021.12.23 |
[백준] 2440번: 별찍기 - 3 (C) (0) | 2021.12.22 |