-
[백준 알고리즘 - JAVA] 2439번 : 별찍기 - 2JAVA/백준 알고리즘 2019. 4. 23. 20:57
Q. 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 (오른쪽정렬)
package tset; import java.util.Scanner; public class ex1 { public static void main(String[] args) { // TODO Auto-generated method stub int n; Scanner sc = new Scanner(System.in); System.out.printf("* 개수 입력 : "); n = sc.nextInt(); //* 개수 입력 받기 for(int i=1; i<=n; i++) { //1부터 n까지 i를 1씩 증가시키면서 반복 for(int j=1; j<=n; j++) { //1부터 n까지 j를 1씩 증가시키면서 반복 if(j<=n-i) { //j가 n-i보다 작다면 공백 출력 System.out.printf(" "); } else { //j가 i보다 크다면 * 출력 System.out.printf("*"); //* 출력 } } System.out.println(); } } }
코드설명)
1. 입력 받은 정수(n)만큼 라인을 출력해야하므로 n번 돌아가는 for문을 만든다.
2. 공백과 *을 n번 출력해야하기 때문에 n번 돌아가는 for문을 한번 더 만들어준다.
3. 공백을 n-1번 출력하고 *을 출력해야 오른쪽 정렬이 가능하기 때문에 for문 안에 if-else문을 사용하여 n-1보다 작은지 구분하여 출력한다. 예를들어 n이 7일 경우, 맨 처음 공백을 6번 출력해야하기 때문에 j가 6보다 작으면 공백을 출력하고, 6보다 크면 *를 출력해야 한다.
'JAVA > 백준 알고리즘' 카테고리의 다른 글
[백준 알고리즘 - JAVA] 2441번 : 별 찍기 - 4 (0) 2019.04.23 [백준 알고리즘 - JAVA] 2440번 : 별 찍기 - 3 (0) 2019.04.23 [백준 알고리즘 - JAVA] 2438번 : 별찍기 - 1 (0) 2019.04.23 [백준 알고리즘 - JAVA] 2739번 : 구구단 (0) 2019.04.23 [백준 알고리즘 - JAVA] 2741번 : 기찍 N (0) 2019.04.23