728x90
https://www.acmicpc.net/problem/2446
문제
예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.
입력
첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.
출력
첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다.
예제 입력1
5
예제 출력1
*********
*******
*****
***
*
***
*****
*******
*********
해설
우선 뒤집힌 삼각형부터 만들었다.
이는 이전 2443번: 별 찍기 - 6과 동일한 방법으로 하면 된다.
이제 5~9행에 별을 찍으면 된다.
for문을 이용하여 n-2부터 0까지 루프를 만들고, j가 i보다 작을 때 빈칸을, n * 2 - i - 1보다 작을 때 *을 찍어주면 된다.
소스 코드
import java.lang.StringBuilder
fun main() {
val n = readLine()!!.toInt()
val sb = StringBuilder()
for(i in 0 until n){
for(j in 0 until n * 2){
when {
j < i -> sb.append(" ")
j < n * 2 - i - 1 -> sb.append("*")
}
}
sb.append("\n")
}
for(i in n-2 downTo 0){
for(j in 0 until n * 2){
when {
j < i -> sb.append(" ")
j < n * 2 - i - 1 -> sb.append("*")
}
}
sb.append("\n")
}
println(sb.toString())
}
728x90
'PS(Problem Solving) > BOJ' 카테고리의 다른 글
[백준/BOJ] 11718번: 그대로 출력하기 (0) | 2021.11.23 |
---|---|
[백준/BOJ] 4619번: 루트 (0) | 2021.11.22 |
[백준/BOJ] 2445번: 별 찍기 - 8 (0) | 2021.11.20 |
[백준/BOJ] 2444번: 별 찍기 - 7 (0) | 2021.11.19 |
[백준/BOJ] 2443번: 별 찍기 - 6 (0) | 2021.11.18 |
댓글