import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int i, j, spaceleft, spaceright, n;
n = sc.nextInt();
spaceleft = 0;
spaceright = 0;
for(i = 1 ; i <= n ; i ++){
spaceleft = n - i;
spaceright = n + i ;
for(j = 1 ; j <= n * 2 - 1 ; j ++){
if(spaceleft < j && j < spaceright){
System.out.print("*");
}else{
System.out.print(" ");
}
}
System.out.println();
}
for(i = n - 1 ; i >= 1 ; i --){
spaceleft = n - i;
spaceright = n + i;
for(j = n * 2 - 1 ; j >= 1 ; j --){
if(spaceleft < j && j < spaceright){
System.out.print("*");
}else{
System.out.print(" ");
}
}
System.out.println();
}
}
}
일단은 그냥 풀어보았는데, 코드 생김새로 보아 좀 더 줄일 수도 있을 것 같다.
마름모 위쪽 아래쪽을 나눠서하지 않고
조건을 주어 위 아래가 자연스럽게 연출되게 만들 수 있을 것 같다.
'LG CNS Camp 2기 > Back-end : 문제풀이, 시행착오' 카테고리의 다른 글
[Java] 약수의 합을 구하는 문제 (0) | 2025.04.11 |
---|---|
[Java] 세가지 수 제일 큰 값, 작은 값, 중간 값 구하기 (0) | 2025.04.10 |
[Java] 알람시계 (조건문 연습) (0) | 2025.04.10 |