2438번과 같은 별찍기 이지만 왼쪽 정렬이 아닌 오른쪽 정렬 문제입니다.
import java.util.Scanner;
public class Main {
public static void main(String args[]) {
Scanner scan = new Scanner(System.in);
int a = scan.nextInt();
for (int i = 1; i <= a; i++) {
for (int k =0; k<a-i;k++){ // 입력받은 숫자 - i 만큼 공백
System.out.print(" ");
}
for (int j = 1; j <= i; j++) { // 입력받은 숫자만큼 * 생성
System.out.print("*");
}
System.out.println("");
}
}
}
2438번과 비슷하지만 오른쪽 정렬을 하기 위해서 (입력받은 값)-(각 줄에 나타나는 별의 수)의 값을 공백으로 출력합니다.
첫번째 반복문은 2438번과 같이 몇 줄을 생성할건지에 대한 반복문 입니다 .
두번째 반복문은 오른쪽 정렬을 위한 공백 출력 반복문 입니다.
만약, 5를 입력받았다면 첫번째 줄에서는 5-1개의 공백 . 1개의 *이 출력되어야하고
두번째 줄에서는 5-2개의 공백, 2개의 *이 출력되어야합니다.
때문에 변수 k를 생성하고, a(입력받은수)-i(현재 반복회수)를 빼서 공백을 출력합니다 (print문 사용)
마지막 반복문은 *을 생성하는 반복문입니다.
'백준' 카테고리의 다른 글
백준 9498번 '시험 성적' (JAVA 11) (1) | 2024.01.07 |
---|---|
백준 2753번 '윤년' (JAVA 11) (0) | 2024.01.07 |
백준 2438번 '별찍기' (JAVA) (0) | 2024.01.07 |
백준 3052번 '나머지' (JAVA 11) (0) | 2024.01.07 |
백준 2741번 'N 찍기' (JAVA 11) (0) | 2024.01.07 |